Program/mooc/crud/crud_account.py

65 lines
3.4 KiB
Python
Raw Normal View History

2024-12-31 22:27:04 +08:00
from typing import Optional
2025-01-03 18:03:30 +08:00
from sqlalchemy.orm import Session
from mooc.crud.crud_base import CRUDBase
from mooc.models.account import (
2025-01-03 18:03:30 +08:00
AccountWechats, AccountAliapp, AccountBaiduapp,
AccountPhoneapp, AccountToutiaoapp, Account,
AccountWebapp, AccountWxapp, AccountXzapp
)
from mooc.schemas.account import (
2025-01-03 18:03:30 +08:00
AccountWechatsCreate, AccountWechatsUpdate,
AccountAliappCreate, AccountAliappUpdate,
AccountBaiduappCreate, AccountBaiduappUpdate,
AccountPhoneappCreate, AccountPhoneappUpdate,
AccountToutiaoappCreate, AccountToutiaoappUpdate,
AccountWebappCreate, AccountWebappUpdate,
AccountWxappCreate, AccountWxappUpdate,
AccountXzappCreate, AccountXzappUpdate
)
2024-12-31 22:27:04 +08:00
2025-01-03 18:03:30 +08:00
class CRUDAccountWechats(CRUDBase[AccountWechats, AccountWechatsCreate, AccountWechatsUpdate]):
def get_by_uniacid(self, db: Session, *, uniacid: int) -> Optional[AccountWechats]:
return db.query(self.model).filter(self.model.uniacid == uniacid).first()
2025-01-03 18:03:30 +08:00
class CRUDAccountAliapp(CRUDBase[AccountAliapp, AccountAliappCreate, AccountAliappUpdate]):
def get_by_uniacid(self, db: Session, *, uniacid: int) -> Optional[AccountAliapp]:
return db.query(self.model).filter(self.model.uniacid == uniacid).first()
2025-01-03 18:03:30 +08:00
class CRUDAccountBaiduapp(CRUDBase[AccountBaiduapp, AccountBaiduappCreate, AccountBaiduappUpdate]):
def get_by_uniacid(self, db: Session, *, uniacid: int) -> Optional[AccountBaiduapp]:
return db.query(self.model).filter(self.model.uniacid == uniacid).first()
2025-01-03 18:03:30 +08:00
class CRUDAccountPhoneapp(CRUDBase[AccountPhoneapp, AccountPhoneappCreate, AccountPhoneappUpdate]):
def get_by_uniacid(self, db: Session, *, uniacid: int) -> Optional[AccountPhoneapp]:
return db.query(self.model).filter(self.model.uniacid == uniacid).first()
2025-01-03 18:03:30 +08:00
class CRUDAccountToutiaoapp(CRUDBase[AccountToutiaoapp, AccountToutiaoappCreate, AccountToutiaoappUpdate]):
def get_by_uniacid(self, db: Session, *, uniacid: int) -> Optional[AccountToutiaoapp]:
return db.query(self.model).filter(self.model.uniacid == uniacid).first()
2025-01-03 18:03:30 +08:00
class CRUDAccountWebapp(CRUDBase[AccountWebapp, AccountWebappCreate, AccountWebappUpdate]):
def get_by_uniacid(self, db: Session, *, uniacid: int) -> Optional[AccountWebapp]:
return db.query(self.model).filter(self.model.uniacid == uniacid).first()
2025-01-03 18:03:30 +08:00
class CRUDAccountWxapp(CRUDBase[AccountWxapp, AccountWxappCreate, AccountWxappUpdate]):
def get_by_uniacid(self, db: Session, *, uniacid: int) -> Optional[AccountWxapp]:
return db.query(self.model).filter(self.model.uniacid == uniacid).first()
2025-01-03 18:03:30 +08:00
class CRUDAccountXzapp(CRUDBase[AccountXzapp, AccountXzappCreate, AccountXzappUpdate]):
def get_by_uniacid(self, db: Session, *, uniacid: int) -> Optional[AccountXzapp]:
return db.query(self.model).filter(self.model.uniacid == uniacid).first()
2025-01-03 18:03:30 +08:00
class CRUDAccount(CRUDBase[Account, None, None]):
def get_by_uniacid(self, db: Session, *, uniacid: int) -> Optional[Account]:
2025-01-03 18:03:30 +08:00
return db.query(self.model).filter(self.model.uniacid == uniacid).first()
# 实例化所有CRUD对象
account = CRUDAccount(Account)
account_wechats = CRUDAccountWechats(AccountWechats)
account_aliapp = CRUDAccountAliapp(AccountAliapp)
account_baiduapp = CRUDAccountBaiduapp(AccountBaiduapp)
account_phoneapp = CRUDAccountPhoneapp(AccountPhoneapp)
account_toutiaoapp = CRUDAccountToutiaoapp(AccountToutiaoapp)
account_webapp = CRUDAccountWebapp(AccountWebapp)
account_wxapp = CRUDAccountWxapp(AccountWxapp)
account_xzapp = CRUDAccountXzapp(AccountXzapp)