fix: Resource authorization
parent
ca7ba9d64c
commit
452fd53310
|
|
@ -297,7 +297,7 @@ class ResourceUserPermissionPageAPI(APIMixin):
|
||||||
required=False
|
required=False
|
||||||
),
|
),
|
||||||
OpenApiParameter(
|
OpenApiParameter(
|
||||||
name="permission",
|
name="permission[]",
|
||||||
description="权限",
|
description="权限",
|
||||||
type=OpenApiTypes.STR,
|
type=OpenApiTypes.STR,
|
||||||
location='query',
|
location='query',
|
||||||
|
|
|
||||||
|
|
@ -96,8 +96,8 @@ sql_map = {
|
||||||
class UserResourcePermissionUserListRequest(serializers.Serializer):
|
class UserResourcePermissionUserListRequest(serializers.Serializer):
|
||||||
name = serializers.CharField(required=False, allow_null=True, allow_blank=True, label=_('resource name'))
|
name = serializers.CharField(required=False, allow_null=True, allow_blank=True, label=_('resource name'))
|
||||||
permission = serializers.MultipleChoiceField(required=False, allow_null=True, allow_blank=True,
|
permission = serializers.MultipleChoiceField(required=False, allow_null=True, allow_blank=True,
|
||||||
choices=['NOT_AUTH', 'MANAGE', 'VIEW', 'ROLE'],
|
choices=['NOT_AUTH', 'MANAGE', 'VIEW', 'ROLE'],
|
||||||
label=_('permission'))
|
label=_('permission'))
|
||||||
|
|
||||||
|
|
||||||
class UserResourcePermissionSerializer(serializers.Serializer):
|
class UserResourcePermissionSerializer(serializers.Serializer):
|
||||||
|
|
@ -304,7 +304,7 @@ class ResourceUserPermissionUserListRequest(serializers.Serializer):
|
||||||
class ResourceUserPermissionEditRequest(serializers.Serializer):
|
class ResourceUserPermissionEditRequest(serializers.Serializer):
|
||||||
user_id = serializers.CharField(required=True, label=_('workspace id'))
|
user_id = serializers.CharField(required=True, label=_('workspace id'))
|
||||||
permission = serializers.ChoiceField(required=True, choices=['NOT_AUTH', 'MANAGE', 'VIEW', 'ROLE'],
|
permission = serializers.ChoiceField(required=True, choices=['NOT_AUTH', 'MANAGE', 'VIEW', 'ROLE'],
|
||||||
label=_('permission'))
|
label=_('permission'))
|
||||||
|
|
||||||
|
|
||||||
permission_map = {
|
permission_map = {
|
||||||
|
|
@ -326,7 +326,8 @@ class ResourceUserPermissionSerializer(serializers.Serializer):
|
||||||
user_query_set = QuerySet(model=get_dynamics_model({
|
user_query_set = QuerySet(model=get_dynamics_model({
|
||||||
'nick_name': models.CharField(),
|
'nick_name': models.CharField(),
|
||||||
'username': models.CharField(),
|
'username': models.CharField(),
|
||||||
"permission": models.CharField()
|
"permission": models.CharField(),
|
||||||
|
"id": models.UUIDField(),
|
||||||
}))
|
}))
|
||||||
nick_name = instance.get('nick_name')
|
nick_name = instance.get('nick_name')
|
||||||
username = instance.get('username')
|
username = instance.get('username')
|
||||||
|
|
@ -352,6 +353,11 @@ class ResourceUserPermissionSerializer(serializers.Serializer):
|
||||||
else:
|
else:
|
||||||
user_query_set = user_query_set.filter(
|
user_query_set = user_query_set.filter(
|
||||||
permission__in=query_p_list)
|
permission__in=query_p_list)
|
||||||
|
workspace_user_role_mapping_model = DatabaseModelManage.get_model("workspace_user_role_mapping")
|
||||||
|
if workspace_user_role_mapping_model:
|
||||||
|
user_query_set=user_query_set.filter(
|
||||||
|
id__in=QuerySet(workspace_user_role_mapping_model).filter(
|
||||||
|
workspace_id=self.data.get('workspace_id')).values("user_id"))
|
||||||
|
|
||||||
return {
|
return {
|
||||||
'workspace_user_resource_permission_query_set': workspace_user_resource_permission_query_set,
|
'workspace_user_resource_permission_query_set': workspace_user_resource_permission_query_set,
|
||||||
|
|
|
||||||
|
|
@ -197,5 +197,5 @@ class WorkspaceResourceUserPermissionView(APIView):
|
||||||
data={'workspace_id': workspace_id, "target": target, 'auth_target_type': resource, }
|
data={'workspace_id': workspace_id, "target": target, 'auth_target_type': resource, }
|
||||||
).page({'username': request.query_params.get("username"),
|
).page({'username': request.query_params.get("username"),
|
||||||
'nick_name': request.query_params.get("nick_name"),
|
'nick_name': request.query_params.get("nick_name"),
|
||||||
'permission': request.query_params.getlist("permission")}, current_page, page_size,
|
'permission': request.query_params.getlist("permission[]")}, current_page, page_size,
|
||||||
))
|
))
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue