UnisKB/ui/src/permission/tool/workspace.ts

84 lines
2.4 KiB
TypeScript
Raw Normal View History

2025-06-23 07:52:03 +00:00
import { hasPermission } from '@/utils/permission/index'
import { ComplexPermission } from '@/utils/permission/type'
import { EditionConst, PermissionConst, RoleConst } from '@/utils/permission/data'
const workspace = {
is_share: () =>
hasPermission(
2025-06-24 09:16:25 +00:00
[EditionConst.IS_EE],
2025-06-23 07:52:03 +00:00
'OR',
),
delete: () =>
hasPermission(
[
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
RoleConst.USER.getWorkspaceRole,
PermissionConst.TOOL_DELETE.getWorkspacePermission,
2025-06-23 09:44:46 +00:00
PermissionConst.TOOL_DELETE.getWorkspacePermissionWorkspaceManageRole
2025-06-23 07:52:03 +00:00
],
'OR',
),
2025-06-23 09:44:46 +00:00
create: () =>
hasPermission(
[
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
RoleConst.USER.getWorkspaceRole,
PermissionConst.TOOL_CREATE.getWorkspacePermission,
PermissionConst.TOOL_CREATE.getWorkspacePermissionWorkspaceManageRole
],
'OR'
),
switch: () =>
hasPermission(
[
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
RoleConst.USER.getWorkspaceRole,
PermissionConst.TOOL_EDIT.getWorkspacePermission,
PermissionConst.TOOL_EDIT.getWorkspacePermissionWorkspaceManageRole
],
'OR'
),
edit: () =>
hasPermission(
[
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
RoleConst.USER.getWorkspaceRole,
PermissionConst.TOOL_EDIT.getWorkspacePermission,
PermissionConst.TOOL_EDIT.getWorkspacePermissionWorkspaceManageRole
],
'OR'
),
copy: () =>
hasPermission(
[
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
RoleConst.USER.getWorkspaceRole,
PermissionConst.TOOL_EXPORT.getWorkspacePermission,
PermissionConst.TOOL_EXPORT.getWorkspacePermissionWorkspaceManageRole
],
'OR'
),
export: () =>
hasPermission(
[
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
RoleConst.USER.getWorkspaceRole,
PermissionConst.TOOL_EXPORT.getWorkspacePermission,
PermissionConst.TOOL_EXPORT.getWorkspacePermissionWorkspaceManageRole
],
'OR'
),
debug: () =>
hasPermission(
[
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
RoleConst.USER.getWorkspaceRole,
PermissionConst.TOOL_DEBUG.getWorkspacePermission,
PermissionConst.TOOL_DEBUG.getWorkspacePermissionWorkspaceManageRole
],
'OR'
),
2025-06-23 07:52:03 +00:00
}
export default workspace