2024-12-31 22:27:04 +08:00
|
|
|
from typing import List, Optional
|
|
|
|
from sqlalchemy.orm import Session
|
2025-01-03 17:06:40 +08:00
|
|
|
from mooc.models.admin import Admin
|
|
|
|
from mooc.schemas.admin import AdminCreate, AdminUpdate
|
2024-12-31 22:27:04 +08:00
|
|
|
|
|
|
|
|
|
|
|
class CRUDAdmin:
|
|
|
|
def get(self, db: Session, id: int) -> Optional[Admin]:
|
|
|
|
return db.query(Admin).filter(Admin.id == id).first()
|
|
|
|
|
|
|
|
def get_by_username(self, db: Session, username: str) -> Optional[Admin]:
|
|
|
|
return db.query(Admin).filter(Admin.username == username).first()
|
|
|
|
|
|
|
|
def get_multi(
|
|
|
|
self, db: Session, *, skip: int = 0, limit: int = 100
|
|
|
|
) -> List[Admin]:
|
|
|
|
return db.query(Admin).offset(skip).limit(limit).all()
|
|
|
|
|
|
|
|
def create(self, db: Session, *, obj_in: AdminCreate) -> Admin:
|
|
|
|
db_obj = Admin(
|
|
|
|
weid=obj_in.weid,
|
|
|
|
username=obj_in.username,
|
2025-01-03 17:06:40 +08:00
|
|
|
password=obj_in.password,
|
2024-12-31 22:27:04 +08:00
|
|
|
pcate_id=obj_in.pcate_id,
|
|
|
|
cate_id=obj_in.cate_id,
|
|
|
|
relation_id=obj_in.relation_id,
|
|
|
|
is_delete=obj_in.is_delete
|
|
|
|
)
|
|
|
|
db.add(db_obj)
|
|
|
|
db.commit()
|
|
|
|
db.refresh(db_obj)
|
|
|
|
return db_obj
|
|
|
|
|
|
|
|
def update(
|
|
|
|
self, db: Session, *, db_obj: Admin, obj_in: AdminUpdate
|
|
|
|
) -> Admin:
|
|
|
|
update_data = obj_in.dict(exclude_unset=True)
|
|
|
|
for field, value in update_data.items():
|
|
|
|
setattr(db_obj, field, value)
|
|
|
|
db.add(db_obj)
|
|
|
|
db.commit()
|
|
|
|
db.refresh(db_obj)
|
|
|
|
return db_obj
|
|
|
|
|
|
|
|
def delete(self, db: Session, *, id: int) -> Admin:
|
|
|
|
obj = db.query(Admin).get(id)
|
|
|
|
if obj:
|
|
|
|
obj.is_delete = 1
|
|
|
|
db.add(obj)
|
|
|
|
db.commit()
|
|
|
|
return obj
|
|
|
|
|
|
|
|
admin = CRUDAdmin()
|
|
|
|
|