Commit 87f281f4 authored by confusion's avatar confusion

添加查询查询所有角色接口

parent 9e35083b
...@@ -8,7 +8,7 @@ from fastapi import APIRouter, Depends ...@@ -8,7 +8,7 @@ from fastapi import APIRouter, Depends
from schema.permission import CreateUserInfo from schema.permission import CreateUserInfo
from service.permission import check_permission, find_user_permission, build_permission_tree, \ from service.permission import check_permission, find_user_permission, build_permission_tree, \
find_all_sys_permission find_all_sys_permission, find_all_roles
from tools.jwt_tools import User from tools.jwt_tools import User
router = APIRouter() router = APIRouter()
...@@ -43,7 +43,7 @@ async def create_permission( ...@@ -43,7 +43,7 @@ async def create_permission(
response_model=BaseResponse, response_model=BaseResponse,
summary='查询账号权限', summary='查询账号权限',
description='查询账号权限') description='查询账号权限')
async def create_permission( async def query_account_permission(
fund_id: str, fund_id: str,
user: User = Depends(get_current_user), user: User = Depends(get_current_user),
permission_user_collect: AgnosticCollection = Depends(get_permission_user_collect), permission_user_collect: AgnosticCollection = Depends(get_permission_user_collect),
...@@ -63,7 +63,7 @@ async def create_permission( ...@@ -63,7 +63,7 @@ async def create_permission(
response_model=BaseResponse, response_model=BaseResponse,
summary='查询所有权限', summary='查询所有权限',
description='查询所有权限') description='查询所有权限')
async def create_permission( async def query_fund_id_permission(
fund_id: str, fund_id: str,
user: User = Depends(get_current_user), user: User = Depends(get_current_user),
all_permission_collect: AgnosticCollection = Depends(get_all_permission_collect), all_permission_collect: AgnosticCollection = Depends(get_all_permission_collect),
...@@ -76,6 +76,26 @@ async def create_permission( ...@@ -76,6 +76,26 @@ async def create_permission(
permissions_tree = await find_all_sys_permission(fund_id=fund_id, all_permission_collect=all_permission_collect) permissions_tree = await find_all_sys_permission(fund_id=fund_id, all_permission_collect=all_permission_collect)
return Response(data={'permission': permissions_tree['data']}) return Response(data={'permission': permissions_tree['data']})
@router.get('/roles/',
response_model=BaseResponse,
summary='查询所有角色',
description='查询所有角色')
async def query_fund_id_permission(
fund_id: str,
user: User = Depends(get_current_user),
permission_user_collect: AgnosticCollection = Depends(get_permission_user_collect),
permission_role_collect: AgnosticCollection = Depends(get_permission_role_collect)
):
assert await check_permission(['role_permission.role.edit'], fund_id=fund_id, email=user.email,
permission_user_collect=permission_user_collect,
permission_role_collect=permission_role_collect), FundPermissionError()
roles_data = await find_all_roles(fund_id=fund_id, permission_role_collect=permission_role_collect)
return Response(
data={item['name']: {"label": item["label"], "remark": item["remark"],
"permissions": build_permission_tree(item["permissions"])} for item
in roles_data})
# @router.post('/role', # @router.post('/role',
# response_model=BaseResponse, # response_model=BaseResponse,
# summary='添加角色', # summary='添加角色',
......
...@@ -529,6 +529,12 @@ async def find_all_sys_permission(fund_id, all_permission_collect: AgnosticColle ...@@ -529,6 +529,12 @@ async def find_all_sys_permission(fund_id, all_permission_collect: AgnosticColle
return await all_permission_collect.find_one({'fund_id': fund_id}) return await all_permission_collect.find_one({'fund_id': fund_id})
async def find_all_roles(fund_id, permission_role_collect: AgnosticCollection):
cursor = permission_role_collect.find({'fund_id': fund_id})
data = await cursor.to_list(length=None)
return data
async def check_permission(for_check_permission_list, fund_id, email, permission_user_collect, async def check_permission(for_check_permission_list, fund_id, email, permission_user_collect,
permission_role_collect): permission_role_collect):
""" """
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment