2025-03-04 20:36:52 +08:00
|
|
|
from typing import Optional
|
2025-01-05 21:09:26 +08:00
|
|
|
from sqlalchemy.orm import Session
|
2025-03-04 20:36:52 +08:00
|
|
|
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)
|
2025-01-05 21:09:26 +08:00
|
|
|
|