from typing import Optional from sqlalchemy.orm import Session from mooc.crud.crud_base import CRUDBase from mooc.models.users import ( Users, UsersBind, UsersCreateGroup, UsersGroup, UsersInvitation, UsersLastUse, UsersLoginLogs, UsersOperateHistory, UsersOperateStar, UsersPermission, UsersProfile, UsersExtraGroup, UsersExtraLimit, UsersExtraModules, UsersExtraTemplates, UsersFailedLogin, UsersFounderGroup, UsersFounderOwnCreateGroups, UsersFounderOwnUniGroups, UsersFounderOwnUsers, UsersFounderOwnUsersGroups ) from mooc.schemas.users import ( UsersCreate, UsersUpdate, UsersBindCreate, UsersBindUpdate, UsersCreateGroupCreate, UsersCreateGroupUpdate, UsersGroupCreate, UsersGroupUpdate, UsersInvitationCreate, UsersInvitationUpdate, UsersLastUseCreate, UsersLastUseUpdate, UsersLoginLogsCreate, UsersLoginLogsUpdate, UsersOperateHistoryCreate, UsersOperateHistoryUpdate, UsersOperateStarCreate, UsersOperateStarUpdate, UsersPermissionCreate, UsersPermissionUpdate, UsersProfileCreate, UsersProfileUpdate, UsersExtraGroupCreate, UsersExtraGroupUpdate, UsersExtraLimitCreate, UsersExtraLimitUpdate, UsersExtraModulesCreate, UsersExtraModulesUpdate, UsersExtraTemplatesCreate, UsersExtraTemplatesUpdate, UsersFailedLoginCreate, UsersFailedLoginUpdate, UsersFounderGroupCreate, UsersFounderGroupUpdate, UsersFounderOwnCreateGroupsCreate, UsersFounderOwnCreateGroupsUpdate, UsersFounderOwnUniGroupsCreate, UsersFounderOwnUniGroupsUpdate, UsersFounderOwnUsersCreate, UsersFounderOwnUsersUpdate, UsersFounderOwnUsersGroupsCreate, UsersFounderOwnUsersGroupsUpdate ) class CRUDUsers(CRUDBase[Users, UsersCreate, UsersUpdate]): def get_by_uid(self, db: Session, *, uid: int) -> Optional[Users]: return self.get_by_field(db, "uid", uid) def get_by_username(self, db: Session, *, username: str) -> Optional[Users]: return self.get_by_field(db, "username", username) class CRUDUsersBind(CRUDBase[UsersBind, UsersBindCreate, UsersBindUpdate]): def get_by_id(self, db: Session, *, id: int) -> Optional[UsersBind]: return self.get_by_field(db, "id", id) def get_by_uid(self, db: Session, *, uid: int) -> Optional[UsersBind]: return self.get_by_field(db, "uid", uid) class CRUDUsersCreateGroup(CRUDBase[UsersCreateGroup, UsersCreateGroupCreate, UsersCreateGroupUpdate]): def get_by_id(self, db: Session, *, id: int) -> Optional[UsersCreateGroup]: return self.get_by_field(db, "id", id) def get_by_group_name(self, db: Session, *, group_name: str) -> Optional[UsersCreateGroup]: return self.get_by_field(db, "group_name", group_name) class CRUDUsersExtraGroup(CRUDBase[UsersExtraGroup, UsersExtraGroupCreate, UsersExtraGroupUpdate]): def get_by_id(self, db: Session, *, id: int) -> Optional[UsersExtraGroup]: return self.get_by_field(db, "id", id) def get_by_uid(self, db: Session, *, uid: int) -> Optional[UsersExtraGroup]: return self.get_by_field(db, "uid", uid) class CRUDUsersExtraLimit(CRUDBase[UsersExtraLimit, UsersExtraLimitCreate, UsersExtraLimitUpdate]): def get_by_id(self, db: Session, *, id: int) -> Optional[UsersExtraLimit]: return self.get_by_field(db, "id", id) def get_by_uid(self, db: Session, *, uid: int) -> Optional[UsersExtraLimit]: return self.get_by_field(db, "uid", uid) class CRUDUsersExtraModules(CRUDBase[UsersExtraModules, UsersExtraModulesCreate, UsersExtraModulesUpdate]): def get_by_id(self, db: Session, *, id: int) -> Optional[UsersExtraModules]: return self.get_by_field(db, "id", id) def get_by_uid(self, db: Session, *, uid: int) -> Optional[UsersExtraModules]: return self.get_by_field(db, "uid", uid) class CRUDUsersExtraTemplates(CRUDBase[UsersExtraTemplates, UsersExtraTemplatesCreate, UsersExtraTemplatesUpdate]): def get_by_id(self, db: Session, *, id: int) -> Optional[UsersExtraTemplates]: return self.get_by_field(db, "id", id) def get_by_uid(self, db: Session, *, uid: int) -> Optional[UsersExtraTemplates]: return self.get_by_field(db, "uid", uid) class CRUDUsersFailedLogin(CRUDBase[UsersFailedLogin, UsersFailedLoginCreate, UsersFailedLoginUpdate]): def get_by_id(self, db: Session, *, id: int) -> Optional[UsersFailedLogin]: return self.get_by_field(db, "id", id) def get_by_username(self, db: Session, *, username: str) -> Optional[UsersFailedLogin]: return self.get_by_field(db, "username", username) class CRUDUsersFounderGroup(CRUDBase[UsersFounderGroup, UsersFounderGroupCreate, UsersFounderGroupUpdate]): def get_by_id(self, db: Session, *, id: int) -> Optional[UsersFounderGroup]: return self.get_by_field(db, "id", id) def get_by_name(self, db: Session, *, name: str) -> Optional[UsersFounderGroup]: return self.get_by_field(db, "name", name) class CRUDUsersFounderOwnCreateGroups(CRUDBase[UsersFounderOwnCreateGroups, UsersFounderOwnCreateGroupsCreate, UsersFounderOwnCreateGroupsUpdate]): def get_by_id(self, db: Session, *, id: int) -> Optional[UsersFounderOwnCreateGroups]: return self.get_by_field(db, "id", id) def get_by_founder_uid(self, db: Session, *, founder_uid: int) -> Optional[UsersFounderOwnCreateGroups]: return self.get_by_field(db, "founder_uid", founder_uid) ### CRUD操作类 for UsersFounderOwnUniGroups表 class CRUDUsersFounderOwnUniGroups(CRUDBase[UsersFounderOwnUniGroups, UsersFounderOwnUniGroupsCreate, UsersFounderOwnUniGroupsUpdate]): def get_by_id(self, db: Session, *, id: int) -> Optional[UsersFounderOwnUniGroups]: return self.get_by_field(db, "id", id) def get_by_founder_uid(self, db: Session, *, founder_uid: int) -> Optional[UsersFounderOwnUniGroups]: return self.get_by_field(db, "founder_uid", founder_uid) ### CRUD操作类 for UsersFounderOwnUsers表 class CRUDUsersFounderOwnUsers(CRUDBase[UsersFounderOwnUsers, UsersFounderOwnUsersCreate, UsersFounderOwnUsersUpdate]): def get_by_id(self, db: Session, *, id: int) -> Optional[UsersFounderOwnUsers]: return self.get_by_field(db, "id", id) def get_by_uid(self, db: Session, *, uid: int) -> Optional[UsersFounderOwnUsers]: return self.get_by_field(db, "uid", uid) ### CRUD操作类 for UsersFounderOwnUsersGroups表 class CRUDUsersFounderOwnUsersGroups(CRUDBase[UsersFounderOwnUsersGroups, UsersFounderOwnUsersGroupsCreate, UsersFounderOwnUsersGroupsUpdate]): def get_by_id(self, db: Session, *, id: int) -> Optional[UsersFounderOwnUsersGroups]: return self.get_by_field(db, "id", id) def get_by_founder_uid(self, db: Session, *, founder_uid: int) -> Optional[UsersFounderOwnUsersGroups]: return self.get_by_field(db, "founder_uid", founder_uid) ### CRUD操作类 for UsersGroup表 class CRUDUsersGroup(CRUDBase[UsersGroup, UsersGroupCreate, UsersGroupUpdate]): def get_by_id(self, db: Session, *, id: int) -> Optional[UsersGroup]: return self.get_by_field(db, "id", id) def get_by_name(self, db: Session, *, name: str) -> Optional[UsersGroup]: return self.get_by_field(db, "name", name) ### CRUD操作类 for UsersInvitation表 class CRUDUsersInvitation(CRUDBase[UsersInvitation, UsersInvitationCreate, UsersInvitationUpdate]): def get_by_id(self, db: Session, *, id: int) -> Optional[UsersInvitation]: return self.get_by_field(db, "id", id) def get_by_code(self, db: Session, *, code: str) -> Optional[UsersInvitation]: return self.get_by_field(db, "code", code) ### CRUD操作类 for UsersLastuse表 class CRUDUsersLastuse(CRUDBase[UsersLastUse, UsersLastUseCreate, UsersLastUseUpdate]): def get_by_id(self, db: Session, *, id: int) -> Optional[UsersLastUse]: return self.get_by_field(db, "id", id) def get_by_uid(self, db: Session, *, uid: int) -> Optional[UsersLastUse]: return self.get_by_field(db, "uid", uid) ### CRUD操作类 for UsersLoginLogs表 class CRUDUsersLoginLogs(CRUDBase[UsersLoginLogs, UsersLoginLogsCreate, UsersLoginLogsUpdate]): def get_by_id(self, db: Session, *, id: int) -> Optional[UsersLoginLogs]: return self.get_by_field(db, "id", id) def get_by_uid(self, db: Session, *, uid: int) -> Optional[UsersLoginLogs]: return self.get_by_field(db, "uid", uid) ### CRUD操作类 for UsersOperateHistory表 class CRUDUsersOperateHistory(CRUDBase[UsersOperateHistory, UsersOperateHistoryCreate, UsersOperateHistoryUpdate]): def get_by_id(self, db: Session, *, id: int) -> Optional[UsersOperateHistory]: return self.get_by_field(db, "id", id) def get_by_uid(self, db: Session, *, uid: int) -> Optional[UsersOperateHistory]: return self.get_by_field(db, "uid", uid) ### CRUD操作类 for UsersOperateStar表 class CRUDUsersOperateStar(CRUDBase[UsersOperateStar, UsersOperateStarCreate, UsersOperateStarUpdate]): def get_by_id(self, db: Session, *, id: int) -> Optional[UsersOperateStar]: return self.get_by_field(db, "id", id) def get_by_uid(self, db: Session, *, uid: int) -> Optional[UsersOperateStar]: return self.get_by_field(db, "uid", uid) ### CRUD操作类 for UsersPermission表 class CRUDUsersPermission(CRUDBase[UsersPermission, UsersPermissionCreate, UsersPermissionUpdate]): def get_by_id(self, db: Session, *, id: int) -> Optional[UsersPermission]: return self.get_by_field(db, "id", id) def get_by_uid(self, db: Session, *, uid: int) -> Optional[UsersPermission]: return self.get_by_field(db, "uid", uid) ### CRUD操作类 for UsersProfile表 class CRUDUsersProfile(CRUDBase[UsersProfile, UsersProfileCreate, UsersProfileUpdate]): def get_by_id(self, db: Session, *, id: int) -> Optional[UsersProfile]: return self.get_by_field(db, "id", id) def get_by_uid(self, db: Session, *, uid: int) -> Optional[UsersProfile]: return self.get_by_field(db, "uid", uid) # 创建实例 users_operate_star_crud = CRUDUsersOperateStar(UsersOperateStar) users_permission_crud = CRUDUsersPermission(UsersPermission) users_profile_crud = CRUDUsersProfile(UsersProfile) # 创建实例 users_lastuse_crud = CRUDUsersLastuse(UsersLastUse) users_login_logs_crud = CRUDUsersLoginLogs(UsersLoginLogs) users_operate_history_crud = CRUDUsersOperateHistory(UsersOperateHistory) # 创建实例 users_founder_own_uni_groups_crud = CRUDUsersFounderOwnUniGroups(UsersFounderOwnUniGroups) users_founder_own_users_crud = CRUDUsersFounderOwnUsers(UsersFounderOwnUsers) users_founder_own_users_groups_crud = CRUDUsersFounderOwnUsersGroups(UsersFounderOwnUsersGroups) users_group_crud = CRUDUsersGroup(UsersGroup) users_invitation_crud = CRUDUsersInvitation(UsersInvitation) # 创建实例 users_extra_limit_crud = CRUDUsersExtraLimit(UsersExtraLimit) users_extra_modules_crud = CRUDUsersExtraModules(UsersExtraModules) users_extra_templates_crud = CRUDUsersExtraTemplates(UsersExtraTemplates) users_failed_login_crud = CRUDUsersFailedLogin(UsersFailedLogin) users_founder_group_crud = CRUDUsersFounderGroup(UsersFounderGroup) users_founder_own_create_groups_crud = CRUDUsersFounderOwnCreateGroups(UsersFounderOwnCreateGroups) # 创建实例 users_crud = CRUDUsers(Users) users_bind_crud = CRUDUsersBind(UsersBind) users_create_group_crud = CRUDUsersCreateGroup(UsersCreateGroup) users_extra_group_crud = CRUDUsersExtraGroup(UsersExtraGroup)