diff --git a/Crud/DepartmentCrud.py b/Crud/DepartmentCrud.py index 93fc027..35402bb 100644 --- a/Crud/DepartmentCrud.py +++ b/Crud/DepartmentCrud.py @@ -10,11 +10,17 @@ def get_department_list(db: Session): return db.query(Department).all() -def is_department_created(db: Session, name: str): - if db.query(Department).filter_by(name=name): - return True - else: - return False +def is_department_created(db: Session, name: str = None, department_id=None): + if name is not None: + if db.query(Department).filter_by(name=name).first(): + return True + else: + return False + if department_id is not None: + if db.query(Department).filter_by(id=department_id).first(): + return True + else: + return False def add_department(db: Session, name: str, belong: int): diff --git a/Crud/PostCrud.py b/Crud/PostCrud.py index 8ce8d90..e042596 100644 --- a/Crud/PostCrud.py +++ b/Crud/PostCrud.py @@ -9,7 +9,7 @@ def get_post_list(db: Session): def is_post_created(db: Session, name: str): - if db.query(Post).filter_by(name=name): + if db.query(Post).filter_by(name=name).first(): return True else: return False diff --git a/Router/DepartmentRouter.py b/Router/DepartmentRouter.py index 4c631ed..67eb8d4 100644 --- a/Router/DepartmentRouter.py +++ b/Router/DepartmentRouter.py @@ -9,15 +9,15 @@ from Utils.SqlAlchemyUtils import get_db router = APIRouter( tags=["部门操作"], prefix="/api/department", - dependencies=[Depends(auth_token_depend)] + # dependencies=[Depends(auth_token_depend)] ) -@router.post("/get_department_list", summary="获取部门列表", response_model=DepartmentSchemas.departmentInfoList) +@router.post("/get_department_list", summary="获取部门列表", response_model=DepartmentSchemas.DepartmentInfoList) def get_department_list(db: Session = Depends(get_db)): department_list = DepartmentCrud.get_department_list(db) items = [item.as_info() for item in department_list] - department_info_list = DepartmentSchemas.DepartmentInfoList(department_list=items) + department_info_list = DepartmentSchemas.DepartmentInfoList(department_info_list=items) return department_info_list diff --git a/Router/PostRouter.py b/Router/PostRouter.py index cabda24..b45aeb2 100644 --- a/Router/PostRouter.py +++ b/Router/PostRouter.py @@ -9,15 +9,15 @@ from Utils.SqlAlchemyUtils import get_db router = APIRouter( tags=["职务操作"], prefix="/api/post", - dependencies=[Depends(auth_token_depend)] + # dependencies=[Depends(auth_token_depend)] ) -@router.post("/get_post_list", summary="获取职务列表", response_model=PostSchemas.postInfoList) +@router.post("/get_post_list", summary="获取职务列表", response_model=PostSchemas.PostInfoList) def get_post_list(db: Session = Depends(get_db)): post_list = PostCrud.get_post_list(db) items = [item.as_info() for item in post_list] - post_info_list = PostSchemas.PostInfoList(post_list=items) + post_info_list = PostSchemas.PostInfoList(post_info_list=items) return post_info_list diff --git a/Schemas/DepartmentSchemas.py b/Schemas/DepartmentSchemas.py index f616496..c0acdc1 100644 --- a/Schemas/DepartmentSchemas.py +++ b/Schemas/DepartmentSchemas.py @@ -1,11 +1,11 @@ -from typing import List +from typing import List, Union from pydantic import BaseModel class DepartmentBaseInfo(BaseModel): name: str - belong: int + belong: Union[int, None] class DepartmentInfo(DepartmentBaseInfo): @@ -19,3 +19,7 @@ class DepartmentId(BaseModel): class UserDepartmentInfo(BaseModel): user_id: str department_id_list: List[int] + + +class DepartmentInfoList(BaseModel): + department_info_list: List[DepartmentInfo] diff --git a/Schemas/PostSchemas.py b/Schemas/PostSchemas.py index a83b96f..a5105aa 100644 --- a/Schemas/PostSchemas.py +++ b/Schemas/PostSchemas.py @@ -18,3 +18,7 @@ class PostId(BaseModel): class UserPostInfo(BaseModel): user_id: str post_id_list: List[int] + + +class PostInfoList(BaseModel): + post_info_list: List[PostInfo] diff --git a/Utils/AuthUtils.py b/Utils/AuthUtils.py index dadb653..24d3f13 100644 --- a/Utils/AuthUtils.py +++ b/Utils/AuthUtils.py @@ -38,6 +38,7 @@ def token_data_depend(request: Request, Authorization: str = Header(None)) -> To print(e) raise HTTPException(status_code=403, detail="无权限的操作") + # 管理员token验证 def auth_token_depend(request: Request, Authorization: str = Header(None)) -> TokenData: token_data = token_data_depend(request, Authorization) diff --git a/main.py b/main.py index d6ed894..c869e2a 100644 --- a/main.py +++ b/main.py @@ -1,7 +1,7 @@ import uvicorn from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware -from Router import UserRouter, UserRegisterRouter +from Router import UserRouter, UserRegisterRouter, DepartmentRouter, PostRouter from Utils.ConfigUtils import init_common_config from Utils.RedisUtils import init_redis_pool from Utils.SqlAlchemyUtils import Base, init_database @@ -27,5 +27,7 @@ app.add_middleware( app.include_router(UserRouter.router) app.include_router(UserRegisterRouter.router) +app.include_router(DepartmentRouter.router) +app.include_router(PostRouter.router) uvicorn.run(app=app, port=8001)