46 lines
1.7 KiB
Python
46 lines
1.7 KiB
Python
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}
|