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

85 lines
2.8 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-26 11:43:46 +00:00
new ComplexPermission(
[RoleConst.ADMIN,RoleConst.USER.getWorkspaceRole,RoleConst.WORKSPACE_MANAGE.getWorkspaceRole],
[PermissionConst.TOOL_READ.getWorkspacePermission,PermissionConst.TOOL_READ.getWorkspacePermissionWorkspaceManageRole],
[EditionConst.IS_EE],'OR'),
2025-06-23 07:52:03 +00:00
'OR',
),
2025-06-27 09:59:38 +00:00
create: () =>
2025-06-23 07:52:03 +00:00
hasPermission(
[
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
RoleConst.USER.getWorkspaceRole,
2025-06-27 09:59:38 +00:00
PermissionConst.TOOL_CREATE.getWorkspacePermission,
PermissionConst.TOOL_CREATE.getWorkspacePermissionWorkspaceManageRole
2025-06-23 07:52:03 +00:00
],
2025-06-27 09:59:38 +00:00
'OR'
2025-06-23 07:52:03 +00:00
),
2025-06-27 09:59:38 +00:00
delete: (source_id:string) =>
2025-06-23 09:44:46 +00:00
hasPermission(
[
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
2025-06-27 09:59:38 +00:00
PermissionConst.TOOL_DELETE.getToolWorkspaceResourcePermission(source_id),
PermissionConst.TOOL_DELETE.getWorkspacePermissionWorkspaceManageRole
2025-06-23 09:44:46 +00:00
],
2025-06-27 09:59:38 +00:00
'OR',
2025-06-23 09:44:46 +00:00
),
2025-06-27 09:59:38 +00:00
switch: (source_id:string) =>
2025-06-23 09:44:46 +00:00
hasPermission(
[
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
2025-06-27 09:59:38 +00:00
PermissionConst.TOOL_EDIT.getToolWorkspaceResourcePermission(source_id),
2025-06-23 09:44:46 +00:00
PermissionConst.TOOL_EDIT.getWorkspacePermissionWorkspaceManageRole
],
'OR'
),
2025-06-27 09:59:38 +00:00
edit: (source_id:string) =>
2025-06-23 09:44:46 +00:00
hasPermission(
[
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
2025-06-27 09:59:38 +00:00
PermissionConst.TOOL_EDIT.getToolWorkspaceResourcePermission(source_id),
2025-06-23 09:44:46 +00:00
PermissionConst.TOOL_EDIT.getWorkspacePermissionWorkspaceManageRole
],
'OR'
),
2025-06-27 09:59:38 +00:00
copy: (source_id:string) =>
2025-06-23 09:44:46 +00:00
hasPermission(
[
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
RoleConst.USER.getWorkspaceRole,
2025-06-27 09:59:38 +00:00
PermissionConst.TOOL_EXPORT.getToolWorkspaceResourcePermission(source_id),
2025-06-23 09:44:46 +00:00
PermissionConst.TOOL_EXPORT.getWorkspacePermissionWorkspaceManageRole
],
'OR'
),
2025-06-27 09:59:38 +00:00
export: (source_id:string) =>
2025-06-23 09:44:46 +00:00
hasPermission(
[
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
RoleConst.USER.getWorkspaceRole,
2025-06-27 09:59:38 +00:00
PermissionConst.TOOL_EXPORT.getToolWorkspaceResourcePermission(source_id),
2025-06-23 09:44:46 +00:00
PermissionConst.TOOL_EXPORT.getWorkspacePermissionWorkspaceManageRole
],
'OR'
),
2025-06-27 09:59:38 +00:00
debug: (source_id:string) =>
2025-06-23 09:44:46 +00:00
hasPermission(
[
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
RoleConst.USER.getWorkspaceRole,
2025-06-27 09:59:38 +00:00
PermissionConst.TOOL_DEBUG.getToolWorkspaceResourcePermission(source_id),
2025-06-23 09:44:46 +00:00
PermissionConst.TOOL_DEBUG.getWorkspacePermissionWorkspaceManageRole
],
'OR'
),
2025-06-23 07:52:03 +00:00
}
export default workspace