bugfix get roles

This commit is contained in:
2024-12-22 15:00:44 +09:00
parent 1420773548
commit a5f5b3fccf
8 changed files with 78 additions and 18 deletions

View File

@@ -256,7 +256,7 @@ async def flow_details(
raise APIException('platform:flow',request.url._url,f"Error occurred while get flow by flowid:",e)
@r.get(
"/flows/{appid}",
"/flows/{appid}", tags=["App"],
response_model=List[Flow|None],
response_model_exclude_none=True,
)
@@ -270,7 +270,8 @@ async def flow_list(
domainurl = domainCacheService.get_default_domainurl(db,user.id) #get_activedomain(db, user.id)
if not domainurl:
return []
flows = get_flows_by_app(db, domainurl, appid)
#flows = get_flows_by_app(db, domainurl, appid)
flows = appService.get_flow(db,domainurl,appid,user.id)
return flows
except Exception as e:
raise APIException('platform:flow',request.url._url,f"Error occurred while get flow by appid:",e)

View File

@@ -13,7 +13,7 @@ from app.db.crud import (
assign_userrole,
get_roles,
)
from app.db.schemas import UserCreate, UserEdit, User, UserOut,RoleBase,Permission
from app.db.schemas import UserCreate, UserEdit, User, UserOut,RoleBase,AssignUserRoles,Permission
from app.core.auth import get_current_user,get_current_active_user, get_current_active_superuser
from app.db.cruddb import userService
from app.core import tenantCacheService
@@ -131,14 +131,13 @@ async def user_delete(
response_model_exclude_none=True,)
async def assign_role(
request: Request,
user_id:int,
roles:t.List[int],
userroles:AssignUserRoles,
db=Depends(get_db)
):
try:
return ApiReturnModel(data = userService.assign_userrole(db,user_id,roles))
return ApiReturnModel(data = userService.assign_userrole(db,userroles.userid,userroles.roleids))
except Exception as e:
raise APIException('user:userrole',request.url._url,f"Error occurred while assign user({user_id}) roles({roles}):",e)
raise APIException('user:userrole',request.url._url,f"Error occurred while assign user({userroles.userid}) roles({userroles.roleids}):",e)
@r.get(
"/roles",tags=["User"],
@@ -152,11 +151,12 @@ async def roles_list(
#current_user=Security(get_current_active_user, scopes=["role_list"]),
):
try:
if current_user.is_superuser:
roles = userService.get_roles(db)
else:
if len(current_user.roles)>0:
roles = userService.get_roles_by_level(db,current_user.roles[0].level)
roles = userService.get_roles_by_level(db,current_user.roles)
else:
roles = []
return ApiReturnModel(data = roles)