from fastapi import APIRouter, Depends, HTTPException from sqlalchemy.orm import Session from Crud import PostCrud from Schemas import PostSchemas from Schemas.UserSchemas import TokenData from Utils.AuthUtils import admin_auth_token_depend from Utils.SqlAlchemyUtils import get_db router = APIRouter( tags=["职务操作"], prefix="/api/user_mod/post", dependencies=[Depends(admin_auth_token_depend)] ) @router.post("/get_post_list", summary="获取职务列表", response_model=PostSchemas.PostInfoList) def get_post_list(params: PostSchemas.PostListQueryParams, db: Session = Depends(get_db)): count,post_list = PostCrud.get_post_list(db,params) items = [item.to_dict() for item in post_list] post_info_list = PostSchemas.PostInfoList(post_info_list=items,count=count) return post_info_list @router.post("/add_post", summary="添加职务") def add_post(post: PostSchemas.PostBaseInfo, db: Session = Depends(get_db)): PostCrud.add_post(db, post.name) return {"msg": "", "state": 1} @router.post("/change_post", summary="修改职务") def change_post(post: PostSchemas.PostInfo, db: Session = Depends(get_db)): PostCrud.change_post(db, post.id, post.name) return {"msg": "", "state": 1} @router.post("/delete_post", summary="删除职务") def delete_post(post_id: PostSchemas.PostId, db: Session = Depends(get_db)): PostCrud.delete_post(db, post_id.id) return {"msg": "", "state": 1} @router.post("/set_user_post", summary="用户设置职务") def set_user_post(user_post_info: PostSchemas.UserPostInfo, db: Session = Depends(get_db)): PostCrud.set_user_post(db, user_post_info.user_id, user_post_info.post_id_list) return {"msg": "", "state": 1}