默认权限规则路由
This commit is contained in:
parent
cb395f7e62
commit
3efbed9043
|
@ -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
|
||||
|
|
|
@ -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', '默认权限配置')
|
|
@ -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)):
|
||||
|
|
|
@ -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}
|
||||
|
||||
|
|
3
main.py
3
main.py
|
@ -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()
|
||||
|
|
Loading…
Reference in New Issue