Skip to content

Commit 452fd53

Browse files
committed
fix: Resource authorization
1 parent ca7ba9d commit 452fd53

File tree

3 files changed

+12
-6
lines changed

3 files changed

+12
-6
lines changed

apps/system_manage/api/user_resource_permission.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,7 @@ def get_parameters():
297297
required=False
298298
),
299299
OpenApiParameter(
300-
name="permission",
300+
name="permission[]",
301301
description="权限",
302302
type=OpenApiTypes.STR,
303303
location='query',

apps/system_manage/serializers/user_resource_permission.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,8 @@ def is_valid(self, *, auth_target_type=None, workspace_id=None, raise_exception=
9696
class UserResourcePermissionUserListRequest(serializers.Serializer):
9797
name = serializers.CharField(required=False, allow_null=True, allow_blank=True, label=_('resource name'))
9898
permission = serializers.MultipleChoiceField(required=False, allow_null=True, allow_blank=True,
99-
choices=['NOT_AUTH', 'MANAGE', 'VIEW', 'ROLE'],
100-
label=_('permission'))
99+
choices=['NOT_AUTH', 'MANAGE', 'VIEW', 'ROLE'],
100+
label=_('permission'))
101101

102102

103103
class UserResourcePermissionSerializer(serializers.Serializer):
@@ -304,7 +304,7 @@ class ResourceUserPermissionUserListRequest(serializers.Serializer):
304304
class ResourceUserPermissionEditRequest(serializers.Serializer):
305305
user_id = serializers.CharField(required=True, label=_('workspace id'))
306306
permission = serializers.ChoiceField(required=True, choices=['NOT_AUTH', 'MANAGE', 'VIEW', 'ROLE'],
307-
label=_('permission'))
307+
label=_('permission'))
308308

309309

310310
permission_map = {
@@ -326,7 +326,8 @@ def get_queryset(self, instance):
326326
user_query_set = QuerySet(model=get_dynamics_model({
327327
'nick_name': models.CharField(),
328328
'username': models.CharField(),
329-
"permission": models.CharField()
329+
"permission": models.CharField(),
330+
"id": models.UUIDField(),
330331
}))
331332
nick_name = instance.get('nick_name')
332333
username = instance.get('username')
@@ -352,6 +353,11 @@ def get_queryset(self, instance):
352353
else:
353354
user_query_set = user_query_set.filter(
354355
permission__in=query_p_list)
356+
workspace_user_role_mapping_model = DatabaseModelManage.get_model("workspace_user_role_mapping")
357+
if workspace_user_role_mapping_model:
358+
user_query_set=user_query_set.filter(
359+
id__in=QuerySet(workspace_user_role_mapping_model).filter(
360+
workspace_id=self.data.get('workspace_id')).values("user_id"))
355361

356362
return {
357363
'workspace_user_resource_permission_query_set': workspace_user_resource_permission_query_set,

apps/system_manage/views/user_resource_permission.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,5 +197,5 @@ def get(self, request: Request, workspace_id: str, target: str, resource: str, c
197197
data={'workspace_id': workspace_id, "target": target, 'auth_target_type': resource, }
198198
).page({'username': request.query_params.get("username"),
199199
'nick_name': request.query_params.get("nick_name"),
200-
'permission': request.query_params.getlist("permission")}, current_page, page_size,
200+
'permission': request.query_params.getlist("permission[]")}, current_page, page_size,
201201
))

0 commit comments

Comments
 (0)