Skip to content

Commit f61a567

Browse files
committed
refactor: streamline permission mapping for system and workspace roles
1 parent a497142 commit f61a567

File tree

1 file changed

+14
-8
lines changed

1 file changed

+14
-8
lines changed

ui/src/utils/dynamics-api/permission-api.ts

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,21 +30,27 @@ const workspaceApiMap = {
3030
* loadPermissionApi('role')
3131
*/
3232
const {user} = useStore()
33+
const systemPermissionMap = {
34+
workspace: [PermissionConst.WORKSPACE_READ],
35+
role: [PermissionConst.ROLE_READ],
36+
chatUser: [PermissionConst.CHAT_USER_READ],
37+
userGroup: [PermissionConst.USER_GROUP_READ],
38+
}
39+
const workspacePermissionMap = {
40+
workspace: [PermissionConst.WORKSPACE_WORKSPACE_READ],
41+
role: [PermissionConst.WORKSPACE_ROLE_READ],
42+
chatUser: [PermissionConst.WORKSPACE_CHAT_USER_READ],
43+
userGroup: [PermissionConst.WORKSPACE_USER_GROUP_READ],
44+
}
3345

3446
export function loadPermissionApi(type: string) {
3547
if (hasPermission([EditionConst.IS_EE, EditionConst.IS_PE], 'OR')) {
3648
user.getHasPermissionWorkspaceManage()
37-
if (hasPermission([RoleConst.ADMIN, RoleConst.EXTENDS_ADMIN], 'OR')) {
49+
if (hasPermission(systemPermissionMap[type as keyof typeof systemPermissionMap], 'OR')) {
3850
// 加载系统管理员 API
3951
return systemApiMap[type]
4052
} else if (
41-
hasPermission(
42-
[
43-
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
44-
RoleConst.EXTENDS_WORKSPACE_MANAGE.getWorkspaceRole,
45-
],
46-
'OR',
47-
)
53+
hasPermission(workspacePermissionMap[type as keyof typeof workspacePermissionMap], 'OR')
4854
) {
4955
// 加载企业版工作空间管理员 API
5056
return workspaceApiMap[type]

0 commit comments

Comments
 (0)