mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-26 01:33:05 +00:00
refactor: add workspace management permission handling in user and permission API
This commit is contained in:
parent
07a049dddc
commit
caa03dc489
|
|
@ -94,7 +94,19 @@ const useUserStore = defineStore('user', {
|
|||
isEE() {
|
||||
return this.edition == 'EE' && this.license_is_valid
|
||||
},
|
||||
getEditionName() {画
|
||||
getHasPermissionWorkspaceManage() {
|
||||
const workspaceManagePermissions = this.userInfo?.role
|
||||
.filter((permission) => permission.startsWith('WORKSPACE_MANAGE'))
|
||||
.map((permission) => {
|
||||
const parts = permission.split('/WORKSPACE/');
|
||||
return parts.length > 1 ? parts[1] : null; // 提取工作空间ID
|
||||
})
|
||||
.filter((id) => id !== null); // 过滤掉无效的ID
|
||||
if (workspaceManagePermissions && workspaceManagePermissions.length > 0) {
|
||||
this.setWorkspaceId(workspaceManagePermissions[0])
|
||||
}
|
||||
},
|
||||
getEditionName() {
|
||||
return this.edition
|
||||
},
|
||||
async profile(loading?: Ref<boolean>) {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { PermissionConst, EditionConst, RoleConst } from '@/utils/permission/data'
|
||||
import { hasPermission } from '@/utils/permission/index'
|
||||
import {PermissionConst, EditionConst, RoleConst} from '@/utils/permission/data'
|
||||
import {hasPermission} from '@/utils/permission/index'
|
||||
import roleSystemApi from '@/api/system/role'
|
||||
import roleWorkspaceApi from '@/api/workspace/role'
|
||||
import systemWorkspaceApi from '@/api/system/workspace'
|
||||
|
|
@ -8,6 +8,7 @@ import systemChatUserApi from '@/api/system/chat-user'
|
|||
import workspaceChatUserApi from '@/api/workspace/chat-user'
|
||||
import systemUserGroupApi from '@/api/system/user-group'
|
||||
import workspaceUserGroupApi from '@/api/workspace/user-group'
|
||||
import useStore from "@/stores";
|
||||
|
||||
// 系统管理员 API
|
||||
const systemApiMap = {
|
||||
|
|
@ -28,9 +29,11 @@ const workspaceApiMap = {
|
|||
/** 动态导入 API 模块的函数
|
||||
* loadPermissionApi('role')
|
||||
*/
|
||||
const {user} = useStore()
|
||||
|
||||
export function loadPermissionApi(type: string) {
|
||||
if (hasPermission([EditionConst.IS_EE, EditionConst.IS_PE], 'OR')) {
|
||||
user.getHasPermissionWorkspaceManage()
|
||||
if (hasPermission([RoleConst.ADMIN, RoleConst.EXTENDS_ADMIN], 'OR')) {
|
||||
// 加载系统管理员 API
|
||||
return systemApiMap[type]
|
||||
|
|
|
|||
Loading…
Reference in New Issue