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() {
|
isEE() {
|
||||||
return this.edition == 'EE' && this.license_is_valid
|
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
|
return this.edition
|
||||||
},
|
},
|
||||||
async profile(loading?: Ref<boolean>) {
|
async profile(loading?: Ref<boolean>) {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
import { PermissionConst, EditionConst, RoleConst } from '@/utils/permission/data'
|
import {PermissionConst, EditionConst, RoleConst} from '@/utils/permission/data'
|
||||||
import { hasPermission } from '@/utils/permission/index'
|
import {hasPermission} from '@/utils/permission/index'
|
||||||
import roleSystemApi from '@/api/system/role'
|
import roleSystemApi from '@/api/system/role'
|
||||||
import roleWorkspaceApi from '@/api/workspace/role'
|
import roleWorkspaceApi from '@/api/workspace/role'
|
||||||
import systemWorkspaceApi from '@/api/system/workspace'
|
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 workspaceChatUserApi from '@/api/workspace/chat-user'
|
||||||
import systemUserGroupApi from '@/api/system/user-group'
|
import systemUserGroupApi from '@/api/system/user-group'
|
||||||
import workspaceUserGroupApi from '@/api/workspace/user-group'
|
import workspaceUserGroupApi from '@/api/workspace/user-group'
|
||||||
|
import useStore from "@/stores";
|
||||||
|
|
||||||
// 系统管理员 API
|
// 系统管理员 API
|
||||||
const systemApiMap = {
|
const systemApiMap = {
|
||||||
@ -28,9 +29,11 @@ const workspaceApiMap = {
|
|||||||
/** 动态导入 API 模块的函数
|
/** 动态导入 API 模块的函数
|
||||||
* loadPermissionApi('role')
|
* loadPermissionApi('role')
|
||||||
*/
|
*/
|
||||||
|
const {user} = useStore()
|
||||||
|
|
||||||
export function loadPermissionApi(type: string) {
|
export function loadPermissionApi(type: string) {
|
||||||
if (hasPermission([EditionConst.IS_EE, EditionConst.IS_PE], 'OR')) {
|
if (hasPermission([EditionConst.IS_EE, EditionConst.IS_PE], 'OR')) {
|
||||||
|
user.getHasPermissionWorkspaceManage()
|
||||||
if (hasPermission([RoleConst.ADMIN, RoleConst.EXTENDS_ADMIN], 'OR')) {
|
if (hasPermission([RoleConst.ADMIN, RoleConst.EXTENDS_ADMIN], 'OR')) {
|
||||||
// 加载系统管理员 API
|
// 加载系统管理员 API
|
||||||
return systemApiMap[type]
|
return systemApiMap[type]
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user