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)