Skip to content

Commit caa03dc

Browse files
committed
refactor: add workspace management permission handling in user and permission API
1 parent 07a049d commit caa03dc

File tree

2 files changed

+18
-3
lines changed

2 files changed

+18
-3
lines changed

ui/src/stores/modules/user.ts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,19 @@ const useUserStore = defineStore('user', {
9494
isEE() {
9595
return this.edition == 'EE' && this.license_is_valid
9696
},
97-
getEditionName() {
97+
getHasPermissionWorkspaceManage() {
98+
const workspaceManagePermissions = this.userInfo?.role
99+
.filter((permission) => permission.startsWith('WORKSPACE_MANAGE'))
100+
.map((permission) => {
101+
const parts = permission.split('/WORKSPACE/');
102+
return parts.length > 1 ? parts[1] : null; // 提取工作空间ID
103+
})
104+
.filter((id) => id !== null); // 过滤掉无效的ID
105+
if (workspaceManagePermissions && workspaceManagePermissions.length > 0) {
106+
this.setWorkspaceId(workspaceManagePermissions[0])
107+
}
108+
},
109+
getEditionName() {
98110
return this.edition
99111
},
100112
async profile(loading?: Ref<boolean>) {

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

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { PermissionConst, EditionConst, RoleConst } from '@/utils/permission/data'
2-
import { hasPermission } from '@/utils/permission/index'
1+
import {PermissionConst, EditionConst, RoleConst} from '@/utils/permission/data'
2+
import {hasPermission} from '@/utils/permission/index'
33
import roleSystemApi from '@/api/system/role'
44
import roleWorkspaceApi from '@/api/workspace/role'
55
import systemWorkspaceApi from '@/api/system/workspace'
@@ -8,6 +8,7 @@ import systemChatUserApi from '@/api/system/chat-user'
88
import workspaceChatUserApi from '@/api/workspace/chat-user'
99
import systemUserGroupApi from '@/api/system/user-group'
1010
import workspaceUserGroupApi from '@/api/workspace/user-group'
11+
import useStore from "@/stores";
1112

1213
// 系统管理员 API
1314
const systemApiMap = {
@@ -28,9 +29,11 @@ const workspaceApiMap = {
2829
/** 动态导入 API 模块的函数
2930
* loadPermissionApi('role')
3031
*/
32+
const {user} = useStore()
3133

3234
export function loadPermissionApi(type: string) {
3335
if (hasPermission([EditionConst.IS_EE, EditionConst.IS_PE], 'OR')) {
36+
user.getHasPermissionWorkspaceManage()
3437
if (hasPermission([RoleConst.ADMIN, RoleConst.EXTENDS_ADMIN], 'OR')) {
3538
// 加载系统管理员 API
3639
return systemApiMap[type]

0 commit comments

Comments
 (0)