15
15
from common import result
16
16
from common .auth import TokenAuth
17
17
from common .auth .authentication import has_permissions
18
- from common .constants .permission_constants import PermissionConstants
18
+ from common .constants .permission_constants import PermissionConstants , RoleConstants
19
19
from common .log .log import log
20
20
from common .result import DefaultResultSerializer
21
21
from system_manage .api .user_resource_permission import UserResourcePermissionAPI , EditUserResourcePermissionAPI
@@ -31,6 +31,7 @@ def get_user_operation_object(user_id):
31
31
}
32
32
return {}
33
33
34
+
34
35
class WorkSpaceUserResourcePermissionView (APIView ):
35
36
authentication_classes = [TokenAuth ]
36
37
@@ -42,7 +43,8 @@ class WorkSpaceUserResourcePermissionView(APIView):
42
43
responses = UserResourcePermissionAPI .get_response (),
43
44
tags = [_ ('Resources authorization' )] # type: ignore
44
45
)
45
- @has_permissions (PermissionConstants .WORKSPACE_USER_RESOURCE_PERMISSION_READ .get_workspace_permission ())
46
+ @has_permissions (PermissionConstants .WORKSPACE_USER_RESOURCE_PERMISSION_READ .get_workspace_permission (),
47
+ RoleConstants .ADMIN , RoleConstants .WORKSPACE_MANAGE .get_workspace_role ())
46
48
def get (self , request : Request , workspace_id : str , user_id : str ):
47
49
return result .success (UserResourcePermissionSerializer (
48
50
data = {'workspace_id' : workspace_id , 'user_id' : user_id }
@@ -60,6 +62,8 @@ def get(self, request: Request, workspace_id: str, user_id: str):
60
62
@log (menu = 'System' , operate = 'Modify the resource authorization list' ,
61
63
get_operation_object = lambda r , k : get_user_operation_object (k .get ('user_id' ))
62
64
)
65
+ @has_permissions (PermissionConstants .WORKSPACE_USER_RESOURCE_PERMISSION_EDIT .get_workspace_permission (),
66
+ RoleConstants .ADMIN , RoleConstants .WORKSPACE_MANAGE .get_workspace_role ())
63
67
def put (self , request : Request , workspace_id : str , user_id : str ):
64
68
return result .success (UserResourcePermissionSerializer (
65
69
data = {'workspace_id' : workspace_id , 'user_id' : user_id }
0 commit comments