From f61a567bc34972c929d670558f7c8b6f8a89c0e6 Mon Sep 17 00:00:00 2001 From: wxg0103 <727495428@qq.com> Date: Tue, 5 Aug 2025 19:06:37 +0800 Subject: [PATCH] refactor: streamline permission mapping for system and workspace roles --- ui/src/utils/dynamics-api/permission-api.ts | 22 +++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/ui/src/utils/dynamics-api/permission-api.ts b/ui/src/utils/dynamics-api/permission-api.ts index efb95d8bd..698e82ed1 100644 --- a/ui/src/utils/dynamics-api/permission-api.ts +++ b/ui/src/utils/dynamics-api/permission-api.ts @@ -30,21 +30,27 @@ const workspaceApiMap = { * loadPermissionApi('role') */ const {user} = useStore() +const systemPermissionMap = { + workspace: [PermissionConst.WORKSPACE_READ], + role: [PermissionConst.ROLE_READ], + chatUser: [PermissionConst.CHAT_USER_READ], + userGroup: [PermissionConst.USER_GROUP_READ], +} +const workspacePermissionMap = { + workspace: [PermissionConst.WORKSPACE_WORKSPACE_READ], + role: [PermissionConst.WORKSPACE_ROLE_READ], + chatUser: [PermissionConst.WORKSPACE_CHAT_USER_READ], + userGroup: [PermissionConst.WORKSPACE_USER_GROUP_READ], +} export function loadPermissionApi(type: string) { if (hasPermission([EditionConst.IS_EE, EditionConst.IS_PE], 'OR')) { user.getHasPermissionWorkspaceManage() - if (hasPermission([RoleConst.ADMIN, RoleConst.EXTENDS_ADMIN], 'OR')) { + if (hasPermission(systemPermissionMap[type as keyof typeof systemPermissionMap], 'OR')) { // 加载系统管理员 API return systemApiMap[type] } else if ( - hasPermission( - [ - RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, - RoleConst.EXTENDS_WORKSPACE_MANAGE.getWorkspaceRole, - ], - 'OR', - ) + hasPermission(workspacePermissionMap[type as keyof typeof workspacePermissionMap], 'OR') ) { // 加载企业版工作空间管理员 API return workspaceApiMap[type]