usermod/Router/DepartmentRouter.py

53 lines
2.4 KiB
Python
Raw Permalink Normal View History

2023-02-07 16:09:57 +08:00
from fastapi import APIRouter, Depends, HTTPException
from sqlalchemy.orm import Session
from Crud import DepartmentCrud
from Schemas import DepartmentSchemas
from Schemas.UserSchemas import TokenData
2023-02-21 10:40:27 +08:00
from Utils.AuthUtils import admin_auth_token_depend,token_data_depend
2023-02-07 16:09:57 +08:00
from Utils.SqlAlchemyUtils import get_db
router = APIRouter(
tags=["部门操作"],
2023-02-20 14:55:25 +08:00
prefix="/api/user_mod/department",
2023-02-21 10:40:27 +08:00
dependencies=[Depends(token_data_depend)]
2023-02-07 16:09:57 +08:00
)
2023-02-08 08:48:22 +08:00
@router.post("/get_department_list", summary="获取部门列表", response_model=DepartmentSchemas.DepartmentInfoList)
2023-02-21 10:40:27 +08:00
def get_department_list(params: DepartmentSchemas.DepartmentListQueryParams,db: Session = Depends(get_db)):
count, department_list = DepartmentCrud.get_department_list(db, params)
2023-02-14 16:53:47 +08:00
items = [item.to_dict() for item in department_list]
2023-02-21 10:40:27 +08:00
department_info_list = DepartmentSchemas.DepartmentInfoList(department_info_list=items, count=count)
2023-02-07 16:09:57 +08:00
return department_info_list
@router.post("/add_department", summary="添加部门")
def add_department(department: DepartmentSchemas.DepartmentBaseInfo, db: Session = Depends(get_db)):
DepartmentCrud.add_department(db, department.name, department.belong)
2023-02-15 14:14:08 +08:00
return {"msg": "操作成功", "state": 1}
2023-02-07 16:09:57 +08:00
2023-02-21 10:40:27 +08:00
@router.post("/get_department_tree", summary="获取部门树")
def get_department_tree(db: Session = Depends(get_db)):
tree = DepartmentCrud.get_department_tree(db)
return tree
2023-02-07 16:09:57 +08:00
@router.post("/change_department", summary="修改部门")
2023-02-21 10:40:27 +08:00
def change_department(department: DepartmentSchemas.DepartmentInfo, admin=Depends(admin_auth_token_depend), db: Session = Depends(get_db)):
DepartmentCrud.change_department(db, department.id, department.name, department.belong)
2023-02-15 14:14:08 +08:00
return {"msg": "操作成功", "state": 1}
2023-02-07 16:09:57 +08:00
@router.post("/delete_department", summary="删除部门")
2023-02-21 10:40:27 +08:00
def delete_department(department_id: DepartmentSchemas.DepartmentId,admin=Depends(admin_auth_token_depend), db: Session = Depends(get_db)):
2023-02-07 16:09:57 +08:00
DepartmentCrud.delete_department(db, department_id.id)
2023-02-15 14:14:08 +08:00
return {"msg": "操作成功", "state": 1}
2023-02-07 16:09:57 +08:00
@router.post("/set_user_department", summary="用户设置部门")
2023-02-21 10:40:27 +08:00
def set_user_department(user_department_info: DepartmentSchemas.UserDepartmentInfo,admin=Depends(admin_auth_token_depend), db: Session = Depends(get_db)):
2023-02-07 16:09:57 +08:00
DepartmentCrud.set_user_department(db, user_department_info.user_id, user_department_info.department_id_list)
2023-02-15 14:14:08 +08:00
return {"msg": "操作成功", "state": 1}
2023-02-21 10:40:27 +08:00