Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 2 additions & 59 deletions apps/system_manage/serializers/user_group_resource_permission.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,14 @@
from application.models import Application
from common.constants.cache_version import Cache_Version
from common.auth.constants.role_constants import RoleConstants
from common.constants.resource_permission_constants import ResourceAuthType, ResourcePermissionConstants
from common.db.search import native_search, native_page_search, get_dynamics_model
from common.db.sql_execute import select_list
from common.exception.app_exception import AppApiException
from common.utils.common import get_file_content
from knowledge.models import Knowledge
from maxkb.conf import PROJECT_DIR
from maxkb.settings import edition
from models_provider.models import Model
from system_manage.models import WorkspaceUserResourcePermission, WorkspaceUserGroupResourcePermission
from system_manage.models import WorkspaceUserGroupResourcePermission
from tools.models import Tool
from users.models.user_group import SystemUserGroupRelation

Expand Down Expand Up @@ -168,61 +166,6 @@ def get_queryset(self, instance):
"resource_query_set": resource_query_set,
}

def auth_resource_batch(self, resource_id_list: list):
self.is_valid(raise_exception=True)
auth_target_type = self.data.get("auth_target_type")
workspace_id = self.data.get("workspace_id")
user_id = self.data.get("user_id")
wurp = (
QuerySet(WorkspaceUserResourcePermission)
.filter(auth_target_type=auth_target_type, workspace_id=workspace_id, user_id=user_id)
.first()
)
auth_type = (
wurp.auth_type
if wurp
else (ResourceAuthType.RESOURCE_PERMISSION_GROUP if edition == "CE" else ResourceAuthType.ROLE)
)
workspace_user_resource_permission = [
WorkspaceUserResourcePermission(
target=resource_id,
auth_target_type=auth_target_type,
permission_list=[ResourcePermissionConstants.VIEW, ResourcePermissionConstants.MANAGE]
if auth_type == ResourceAuthType.RESOURCE_PERMISSION_GROUP
else [ResourcePermissionConstants.ROLE],
workspace_id=workspace_id,
user_id=user_id,
auth_type=auth_type,
)
for resource_id in resource_id_list
]
QuerySet(WorkspaceUserResourcePermission).bulk_create(workspace_user_resource_permission)
# 刷新缓存
version = Cache_Version.PERMISSION_LIST.get_version()
key = Cache_Version.PERMISSION_LIST.get_key(user_id=user_id)
cache.delete(key, version=version)
return True

def auth_resource(self, resource_id: str, is_folder=False):
self.is_valid(raise_exception=True)
auth_target_type = self.data.get("auth_target_type")
workspace_id = self.data.get("workspace_id")
user_id = self.data.get("user_id")

WorkspaceUserResourcePermission(
target=resource_id,
auth_target_type=auth_target_type,
permission_list=[ResourcePermissionConstants.VIEW, ResourcePermissionConstants.MANAGE],
workspace_id=workspace_id,
user_id=user_id,
auth_type=ResourceAuthType.RESOURCE_PERMISSION_GROUP,
).save()
# 刷新缓存
version = Cache_Version.PERMISSION_LIST.get_version()
key = Cache_Version.PERMISSION_LIST.get_key(user_id=user_id)
cache.delete(key, version=version)
return True

def list(self, instance, user, with_valid=True):
if with_valid:
self.is_valid(raise_exception=True)
Expand Down Expand Up @@ -508,7 +451,7 @@ def edit(self, instance, with_valid=True, current_user_id=None):
]

if save_list:
QuerySet(WorkspaceUserResourcePermission).bulk_create(save_list)
QuerySet(WorkspaceUserGroupResourcePermission).bulk_create(save_list)

version = Cache_Version.PERMISSION_LIST.get_version()
for user_group_id in user_group_ids:
Expand Down
2 changes: 1 addition & 1 deletion apps/system_manage/views/user_group_resource_permission.py
Original file line number Diff line number Diff line change
Expand Up @@ -228,7 +228,7 @@ def put(self, request: Request, workspace_id: str, target: str, resource: str):
"target": target,
"auth_target_type": resource.replace("_FOLDER", ""),
}
).edit(instance=request.data, current_user_id=request.user.id)
).edit(instance=request.data, current_user_id=str(request.user.id))
)

class Page(APIView):
Expand Down
Loading