From 0bc635a8022d86c4b945890e87816b9a6c6c9629 Mon Sep 17 00:00:00 2001 From: zhangzhanwei Date: Tue, 21 Oct 2025 15:13:15 +0800 Subject: [PATCH] feat: Folder Permission --- apps/folders/views/folder.py | 6 +- .../views/user_resource_permission.py | 6 +- ui/src/components/folder-tree/index.vue | 21 ++--- .../resource-authorization-drawer/index.vue | 25 +++++- .../permission/application/system-manage.ts | 1 + ui/src/permission/application/workspace.ts | 59 ++++++++------ ui/src/permission/knowledge/system-manage.ts | 1 + ui/src/permission/knowledge/system-share.ts | 1 + .../permission/knowledge/workspace-share.ts | 1 + ui/src/permission/knowledge/workspace.ts | 79 +++++++++++------- ui/src/permission/model/system-manage.ts | 1 + ui/src/permission/model/system-share.ts | 1 + ui/src/permission/model/workspace.ts | 1 + ui/src/permission/tool/system-manage.ts | 1 + ui/src/permission/tool/system-share.ts | 1 + ui/src/permission/tool/workspace.ts | 81 ++++++++++++------- 16 files changed, 184 insertions(+), 102 deletions(-) diff --git a/apps/folders/views/folder.py b/apps/folders/views/folder.py index d57d080ee..3d66132cc 100644 --- a/apps/folders/views/folder.py +++ b/apps/folders/views/folder.py @@ -41,7 +41,7 @@ class FolderView(APIView): lambda r, kwargs: Permission(group=Group(f"{kwargs.get('source')}_FOLDER"), operate=Operate.EDIT, resource_path=f"/WORKSPACE/{kwargs.get('workspace_id')}/{kwargs.get('source')}/{r.data.get('parent_id')}"), lambda r, kwargs: Permission(group=Group(kwargs.get('source')), operate=Operate.EDIT, - resource_path=f"/WORKSPACE/{kwargs.get('workspace_id')}/ROLE/WORKSPACE_MANAGE" + resource_path=f"/WORKSPACE/{kwargs.get('workspace_id')}:ROLE/WORKSPACE_MANAGE" ), lambda r, kwargs: ViewPermission([RoleConstants.USER.get_workspace_role()], [Permission(group=Group(f"{kwargs.get('source')}_FOLDER"), @@ -100,7 +100,7 @@ class FolderView(APIView): ) @has_permissions( lambda r, kwargs: Permission(group=Group(kwargs.get('source')), operate=Operate.EDIT, - resource_path=f"/WORKSPACE/{kwargs.get('workspace_id')}/ROLE/WORKSPACE_MANAGE" + resource_path=f"/WORKSPACE/{kwargs.get('workspace_id')}:ROLE/WORKSPACE_MANAGE" ), lambda r, kwargs: Permission(group=Group(f"{kwargs.get('source')}_FOLDER"), operate=Operate.EDIT, resource_path=f"/WORKSPACE/{kwargs.get('workspace_id')}/{kwargs.get('source')}/{kwargs.get('folder_id')}" @@ -152,7 +152,7 @@ class FolderView(APIView): ) @has_permissions( lambda r, kwargs: Permission(group=Group(kwargs.get('source')), operate=Operate.EDIT, - resource_path=f"/WORKSPACE/{kwargs.get('workspace_id')}/ROLE/WORKSPACE_MANAGE" + resource_path=f"/WORKSPACE/{kwargs.get('workspace_id')}:ROLE/WORKSPACE_MANAGE" ), lambda r, kwargs: Permission(group=Group(f"{kwargs.get('source')}_FOLDER"), operate=Operate.EDIT, resource_path=f"/WORKSPACE/{kwargs.get('workspace_id')}/{kwargs.get('source')}/{kwargs.get('folder_id')}" diff --git a/apps/system_manage/views/user_resource_permission.py b/apps/system_manage/views/user_resource_permission.py index d231632ee..ba2c56252 100644 --- a/apps/system_manage/views/user_resource_permission.py +++ b/apps/system_manage/views/user_resource_permission.py @@ -117,7 +117,7 @@ class WorkspaceResourceUserPermissionView(APIView): @has_permissions( lambda r, kwargs: Permission(group=Group(kwargs.get('resource')), operate=Operate.AUTH, - resource_path=f"/WORKSPACE/{kwargs.get('workspace_id')}/ROLE/WORKSPACE_MANAGE"), + resource_path=f"/WORKSPACE/{kwargs.get('workspace_id')}:ROLE/WORKSPACE_MANAGE"), lambda r, kwargs: Permission(group=Group(kwargs.get('resource')), operate=Operate.AUTH, resource_path=f"/WORKSPACE/{kwargs.get('workspace_id')}/{kwargs.get('resource')}/{kwargs.get('target')}"), @@ -151,7 +151,7 @@ class WorkspaceResourceUserPermissionView(APIView): @has_permissions( lambda r, kwargs: Permission(group=Group(kwargs.get('resource')), operate=Operate.AUTH, - resource_path=f"/WORKSPACE/{kwargs.get('workspace_id')}/ROLE/WORKSPACE_MANAGE"), + resource_path=f"/WORKSPACE/{kwargs.get('workspace_id')}:ROLE/WORKSPACE_MANAGE"), lambda r, kwargs: Permission(group=Group(kwargs.get('resource')), operate=Operate.AUTH, resource_path=f"/WORKSPACE/{kwargs.get('workspace_id')}/{kwargs.get('resource')}/{kwargs.get('target')}"), @@ -181,7 +181,7 @@ class WorkspaceResourceUserPermissionView(APIView): @has_permissions( lambda r, kwargs: Permission(group=Group(kwargs.get('resource')), operate=Operate.AUTH, - resource_path=f"/WORKSPACE/{kwargs.get('workspace_id')}/ROLE/WORKSPACE_MANAGE"), + resource_path=f"/WORKSPACE/{kwargs.get('workspace_id')}:ROLE/WORKSPACE_MANAGE"), lambda r, kwargs: Permission(group=Group(kwargs.get('resource')), operate=Operate.AUTH, resource_path=f"/WORKSPACE/{kwargs.get('workspace_id')}/{kwargs.get('resource')}/{kwargs.get('target')}"), diff --git a/ui/src/components/folder-tree/index.vue b/ui/src/components/folder-tree/index.vue index c450d3eec..36ffa5636 100644 --- a/ui/src/components/folder-tree/index.vue +++ b/ui/src/components/folder-tree/index.vue @@ -48,7 +48,7 @@
- +