Program/mooc/crud/crud_modules.py
?..濡.. 8451ad034c 1.统一CRUD操作
2.完成登录部分接口
3.暂时挂载本地图片链接作为头像存储
2025-03-04 20:36:52 +08:00

62 lines
3.0 KiB
Python

from typing import Optional
from sqlalchemy.orm import Session
from mooc.crud.crud_base import CRUDBase
from mooc.models.module import (
IMSModulesBindings, IMSModulesCloud, IMSModulesIgnore,
IMSModulesPlugin, IMSModulesPluginRank, IMSModulesRank,
IMSModulesRecycle, Modules
)
from mooc.schemas.module import (
IMSModulesBindingsCreate, IMSModulesBindingsUpdate,
IMSModulesCloudCreate, IMSModulesCloudUpdate,
IMSModulesIgnoreCreate, IMSModulesIgnoreUpdate,
IMSModulesPluginCreate, IMSModulesPluginUpdate,
IMSModulesPluginRankCreate, IMSModulesPluginRankUpdate,
IMSModulesRankCreate, IMSModulesRankUpdate,
IMSModulesRecycleCreate, IMSModulesRecycleUpdate,
ModulesCreate, ModulesUpdate
)
class CRUDIMSModulesBindings(CRUDBase[IMSModulesBindings, IMSModulesBindingsCreate, IMSModulesBindingsUpdate]):
def get_by_eid(self, db: Session, *, eid: int) -> Optional[IMSModulesBindings]:
return self.get_by_field(db, "eid", eid)
class CRUDIMSModulesCloud(CRUDBase[IMSModulesCloud, IMSModulesCloudCreate, IMSModulesCloudUpdate]):
def get_by_id(self, db: Session, *, id: int) -> Optional[IMSModulesCloud]:
return self.get_by_field(db, "id", id)
class CRUDIMSModulesIgnore(CRUDBase[IMSModulesIgnore, IMSModulesIgnoreCreate, IMSModulesIgnoreUpdate]):
def get_by_id(self, db: Session, *, id: int) -> Optional[IMSModulesIgnore]:
return self.get_by_field(db, "id", id)
class CRUDIMSModulesPlugin(CRUDBase[IMSModulesPlugin, IMSModulesPluginCreate, IMSModulesPluginUpdate]):
def get_by_id(self, db: Session, *, id: int) -> Optional[IMSModulesPlugin]:
return self.get_by_field(db, "id", id)
class CRUDIMSModulesPluginRank(CRUDBase[IMSModulesPluginRank, IMSModulesPluginRankCreate, IMSModulesPluginRankUpdate]):
def get_by_id(self, db: Session, *, id: int) -> Optional[IMSModulesPluginRank]:
return self.get_by_field(db, "id", id)
class CRUDIMSModulesRank(CRUDBase[IMSModulesRank, IMSModulesRankCreate, IMSModulesRankUpdate]):
def get_by_id(self, db: Session, *, id: int) -> Optional[IMSModulesRank]:
return self.get_by_field(db, "id", id)
class CRUDIMSModulesRecycle(CRUDBase[IMSModulesRecycle, IMSModulesRecycleCreate, IMSModulesRecycleUpdate]):
def get_by_id(self, db: Session, *, id: int) -> Optional[IMSModulesRecycle]:
return self.get_by_field(db, "id", id)
class CRUDModules(CRUDBase[Modules, ModulesCreate, ModulesUpdate]):
def get_by_mid(self, db: Session, *, mid: int) -> Optional[Modules]:
return self.get_by_field(db, "mid", mid)
# 创建实例
ims_modules_bindings = CRUDIMSModulesBindings(IMSModulesBindings)
ims_modules_cloud = CRUDIMSModulesCloud(IMSModulesCloud)
ims_modules_ignore = CRUDIMSModulesIgnore(IMSModulesIgnore)
ims_modules_plugin = CRUDIMSModulesPlugin(IMSModulesPlugin)
ims_modules_plugin_rank = CRUDIMSModulesPluginRank(IMSModulesPluginRank)
ims_modules_rank = CRUDIMSModulesRank(IMSModulesRank)
ims_modules_recycle = CRUDIMSModulesRecycle(IMSModulesRecycle)
modules = CRUDModules(Modules)