refactor: streamline auth_resource method for improved readability and maintainability
This commit is contained in:
parent
e7a30903ba
commit
13596ed7e8
@ -104,29 +104,27 @@ class UserResourcePermissionSerializer(serializers.Serializer):
|
|||||||
|
|
||||||
def auth_resource(self, resource_id: str):
|
def auth_resource(self, resource_id: str):
|
||||||
self.is_valid(raise_exception=True)
|
self.is_valid(raise_exception=True)
|
||||||
workspace_manage = is_workspace_manage(self.data.get('user_id'), self.data.get('workspace_id'))
|
auth_target_type = self.data.get('auth_target_type')
|
||||||
if not workspace_manage:
|
workspace_id = self.data.get('workspace_id')
|
||||||
auth_target_type = self.data.get('auth_target_type')
|
user_id = self.data.get('user_id')
|
||||||
workspace_id = self.data.get('workspace_id')
|
wurp = QuerySet(WorkspaceUserResourcePermission).filter(auth_target_type=auth_target_type,
|
||||||
user_id = self.data.get('user_id')
|
workspace_id=workspace_id).first()
|
||||||
wurp = QuerySet(WorkspaceUserResourcePermission).filter(auth_target_type=auth_target_type,
|
auth_type = wurp.auth_type if wurp else ResourceAuthType.RESOURCE_PERMISSION_GROUP
|
||||||
workspace_id=workspace_id).first()
|
# 自动授权给创建者
|
||||||
auth_type = wurp.auth_type if wurp else ResourceAuthType.RESOURCE_PERMISSION_GROUP
|
WorkspaceUserResourcePermission(
|
||||||
# 自动授权给创建者
|
target=resource_id,
|
||||||
WorkspaceUserResourcePermission(
|
auth_target_type=auth_target_type,
|
||||||
target=resource_id,
|
permission_list=[ResourcePermission.VIEW,
|
||||||
auth_target_type=auth_target_type,
|
ResourcePermission.MANAGE] if auth_type == ResourceAuthType.RESOURCE_PERMISSION_GROUP else [
|
||||||
permission_list=[ResourcePermission.VIEW,
|
ResourcePermissionRole.ROLE],
|
||||||
ResourcePermission.MANAGE] if auth_type == ResourceAuthType.RESOURCE_PERMISSION_GROUP else [
|
workspace_id=workspace_id,
|
||||||
ResourcePermissionRole.ROLE],
|
user_id=user_id,
|
||||||
workspace_id=workspace_id,
|
auth_type=auth_type
|
||||||
user_id=user_id,
|
).save()
|
||||||
auth_type=auth_type
|
# 刷新缓存
|
||||||
).save()
|
version = Cache_Version.PERMISSION_LIST.get_version()
|
||||||
# 刷新缓存
|
key = Cache_Version.PERMISSION_LIST.get_key(user_id=user_id)
|
||||||
version = Cache_Version.PERMISSION_LIST.get_version()
|
cache.delete(key, version=version)
|
||||||
key = Cache_Version.PERMISSION_LIST.get_key(user_id=user_id)
|
|
||||||
cache.delete(key, version=version)
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def list(self, user, with_valid=True):
|
def list(self, user, with_valid=True):
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user