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
|