默认权限规则路由

This commit is contained in:
wcq 2023-02-21 10:40:27 +08:00
parent cb395f7e62
commit 3efbed9043
5 changed files with 44 additions and 13 deletions

View File

@ -52,3 +52,25 @@ def set_user_department(db: Session, user_id: str, department_id_list: List[int]
db.commit()
db.refresh(User)
return User.department
def get_department_tree(db: Session) -> dict:
item_list = db.query(Department).all()
node_list = []
for item in item_list:
item_dic = item.to_dict()
item_dic['children'] = []
node_list.append(item_dic)
nodes_dic = {node["id"]: node for node in node_list}
tree = []
for node in node_list:
belong = node['belong']
if belong:
if belong in nodes_dic:
nodes_dic[belong]['children'].append(node)
else:
print(f"不存在{belong}")
else:
tree.append(node)
return tree

View File

@ -0,0 +1,4 @@
from Utils.CrudUtils import auto_create_crud
from Model.AuthRuleModel import DefaultAuthRuleConfig
default_auth_rule_crud = auto_create_crud(DefaultAuthRuleConfig, 'defaultAuthRuleConfig', '默认权限配置')

View File

@ -1,6 +1,7 @@
from fastapi import APIRouter, Depends
from sqlalchemy.orm import Session
from CrudModel.DefaultAuthRule import default_auth_rule_crud
from Schemas import AuthRuleSchemas
from Crud import AuthRuleCrud
from Utils.AuthUtils import admin_auth_token_depend
@ -11,7 +12,7 @@ router = APIRouter(
prefix="/api/user_mod/auth_rule",
dependencies=[Depends(admin_auth_token_depend)]
)
default_auth_rule_crud.mount(router)
@router.post("/add_auth_rule", summary="添加权限规则", response_model=AuthRuleSchemas.AuthRuleInfo)
def add_auth_rule(body: AuthRuleSchemas.AuthRuleAddInfo, db: Session = Depends(get_db)):

View File

@ -3,21 +3,21 @@ from sqlalchemy.orm import Session
from Crud import DepartmentCrud
from Schemas import DepartmentSchemas
from Schemas.UserSchemas import TokenData
from Utils.AuthUtils import admin_auth_token_depend
from Utils.AuthUtils import admin_auth_token_depend,token_data_depend
from Utils.SqlAlchemyUtils import get_db
router = APIRouter(
tags=["部门操作"],
prefix="/api/user_mod/department",
dependencies=[Depends(admin_auth_token_depend)]
dependencies=[Depends(token_data_depend)]
)
@router.post("/get_department_list", summary="获取部门列表", response_model=DepartmentSchemas.DepartmentInfoList)
def get_department_list(params:DepartmentSchemas.DepartmentListQueryParams,db: Session = Depends(get_db)):
count,department_list = DepartmentCrud.get_department_list(db,params)
def get_department_list(params: DepartmentSchemas.DepartmentListQueryParams,db: Session = Depends(get_db)):
count, department_list = DepartmentCrud.get_department_list(db, params)
items = [item.to_dict() for item in department_list]
department_info_list = DepartmentSchemas.DepartmentInfoList(department_info_list=items,count=count)
department_info_list = DepartmentSchemas.DepartmentInfoList(department_info_list=items, count=count)
return department_info_list
@ -27,19 +27,26 @@ def add_department(department: DepartmentSchemas.DepartmentBaseInfo, db: Session
return {"msg": "操作成功", "state": 1}
@router.post("/get_department_tree", summary="获取部门树")
def get_department_tree(db: Session = Depends(get_db)):
tree = DepartmentCrud.get_department_tree(db)
return tree
@router.post("/change_department", summary="修改部门")
def change_department(department: DepartmentSchemas.DepartmentInfo, db: Session = Depends(get_db)):
DepartmentCrud.change_department(db,department.id, department.name, department.belong)
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)
return {"msg": "操作成功", "state": 1}
@router.post("/delete_department", summary="删除部门")
def delete_department(department_id: DepartmentSchemas.DepartmentId, db: Session = Depends(get_db)):
def delete_department(department_id: DepartmentSchemas.DepartmentId,admin=Depends(admin_auth_token_depend), db: Session = Depends(get_db)):
DepartmentCrud.delete_department(db, department_id.id)
return {"msg": "操作成功", "state": 1}
@router.post("/set_user_department", summary="用户设置部门")
def set_user_department(user_department_info: DepartmentSchemas.UserDepartmentInfo, db: Session = Depends(get_db)):
def set_user_department(user_department_info: DepartmentSchemas.UserDepartmentInfo,admin=Depends(admin_auth_token_depend), db: Session = Depends(get_db)):
DepartmentCrud.set_user_department(db, user_department_info.user_id, user_department_info.department_id_list)
return {"msg": "操作成功", "state": 1}

View File

@ -9,9 +9,6 @@ from Utils.SqlAlchemyUtils import Base, init_database
from Context.common import ctx
from Utils.TestUtils import init_test_env
from fastapi.staticfiles import StaticFiles
from crud import item_crud
item_crud.mount(AppRouter.router)
init_common_config()
init_database()