from sqlalchemy.orm import Session from AppUser.Model.DepartmentModel import Department def set_next_id(db: Session, num_len: int, prefix: str, model): data = db.query(model).with_entities(model.id).order_by(model.id.desc()).first() if data: num = str(int({**data}.get("id").split(prefix)[-1]) + 1) return prefix + "0" * (num_len - len(num)) + num else: return prefix + "0" * (num_len - 1) + "1" def create_department(db: Session, name: str): item = Department(**{"name": name}) item.id = set_next_id(db=db, num_len=3, prefix="D", model=Department) db.add(item) db.commit() return True def get_department_by_id(db: Session, department_id: str): role_obj = db.query(Department).filter_by(id=department_id).first() return role_obj def get_department_list(db: Session): role_list = db.query(Department).order_by(Department.id.asc()).all() return role_list