Program/mooc/crud/crud_users.py

261 lines
11 KiB
Python
Raw Normal View History

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)