diff --git a/ui/src/permission/knowledge/system-manage.ts b/ui/src/permission/knowledge/system-manage.ts index 3983d1ff..b66f76a8 100644 --- a/ui/src/permission/knowledge/system-manage.ts +++ b/ui/src/permission/knowledge/system-manage.ts @@ -13,7 +13,6 @@ const workspace = { 'OR', ), create: () => false, - single: () => false, sync: () => false, vector: () => false, generate: () => false, diff --git a/ui/src/permission/knowledge/system-share.ts b/ui/src/permission/knowledge/system-share.ts index be78b2aa..92934290 100644 --- a/ui/src/permission/knowledge/system-share.ts +++ b/ui/src/permission/knowledge/system-share.ts @@ -3,27 +3,152 @@ import { ComplexPermission } from '@/utils/permission/type' import { EditionConst, PermissionConst, RoleConst } from '@/utils/permission/data' const share = { is_share: () => false, - create: () => false, - single: () => false, - sync: () => false, - vector: () => false, - generate: () => false, - setting: () => false, - export: () => false, - delete: () => false, + create: () => + hasPermission ( + [ + RoleConst.ADMIN, + PermissionConst.SHARED_KNOWLEDGE_CREATE + ], + 'OR' + ), + sync: () => + hasPermission ( + [ + RoleConst.ADMIN, + PermissionConst.SHARED_KNOWLEDGE_SYNC + ], + 'OR' + ), + vector: () => + hasPermission ( + [ + RoleConst.ADMIN, + PermissionConst.SHARED_KNOWLEDGE_VECTOR + ], + 'OR' + ), + generate: () => + hasPermission ( + [ + RoleConst.ADMIN, + PermissionConst.SHARED_KNOWLEDGE_GENERATE + ], + 'OR' + ), + setting: () => + hasPermission ( + [ + RoleConst.ADMIN, + PermissionConst.SHARED_KNOWLEDGE_EDIT + ], + 'OR' + ), + export: () => + hasPermission ( + [ + RoleConst.ADMIN, + PermissionConst.SHARED_KNOWLEDGE_EXPORT + ], + 'OR' + ), + delete: () => + hasPermission ( + [ + RoleConst.ADMIN, + PermissionConst.SHARED_KNOWLEDGE_DELETE + ], + 'OR' + ), - doc_create: () => false, - doc_vector: () => false, - doc_generate: () => false, - doc_migrate: () => false, - doc_edit: () => false, - doc_sync: () => false, - doc_delete: () => false, - doc_export: () => false, + doc_create: () => + hasPermission ( + [ + RoleConst.ADMIN, + PermissionConst.SHARED_KNOWLEDGE_DOCUMENT_CREATE + ], + 'OR' + ), + doc_vector: () => + hasPermission ( + [ + RoleConst.ADMIN, + PermissionConst.SHARED_KNOWLEDGE_DOCUMENT_VECTOR + ], + 'OR' + ), + doc_generate: () => + hasPermission ( + [ + RoleConst.ADMIN, + PermissionConst.SHARED_KNOWLEDGE_DOCUMENT_GENERATE + ], + 'OR' + ), + doc_migrate: () => + hasPermission ( + [ + RoleConst.ADMIN, + PermissionConst.SHARED_KNOWLEDGE_DOCUMENT_MIGRATE + ], + 'OR' + ), + doc_edit: () => + hasPermission ( + [ + RoleConst.ADMIN, + PermissionConst.SHARED_KNOWLEDGE_DOCUMENT_EDIT + ], + 'OR' + ), + doc_sync: () => + hasPermission ( + [ + RoleConst.ADMIN, + PermissionConst.SHARED_KNOWLEDGE_DOCUMENT_SYNC + ], + 'OR' + ), + doc_delete: () => + hasPermission ( + [ + RoleConst.ADMIN, + PermissionConst.SHARED_KNOWLEDGE_DOCUMENT_DELETE + ], + 'OR' + ), + doc_export: () => + hasPermission ( + [ + RoleConst.ADMIN, + PermissionConst.SHARED_KNOWLEDGE_DOCUMENT_EXPORT + ], + 'OR' + ), - problem_create: () => false, - problem_relate: () => false, - problem_delete: () => false, + problem_create: () => + hasPermission ( + [ + RoleConst.ADMIN, + PermissionConst.SHARED_KNOWLEDGE_PROBLEM_CREATE + ], + 'OR' + ), + problem_relate: () => + hasPermission ( + [ + RoleConst.ADMIN, + PermissionConst.SHARED_KNOWLEDGE_PROBLEM_READ + ], + 'OR' + ), + problem_delete: () => + hasPermission ( + [ + RoleConst.ADMIN, + PermissionConst.SHARED_KNOWLEDGE_PROBLEM_DELETE + ], + 'OR' + ), } export default share diff --git a/ui/src/permission/knowledge/workspace.ts b/ui/src/permission/knowledge/workspace.ts index 87b6b199..7d997f92 100644 --- a/ui/src/permission/knowledge/workspace.ts +++ b/ui/src/permission/knowledge/workspace.ts @@ -23,16 +23,6 @@ const workspace = { ], 'OR', ), - single: (source_id:string) => - hasPermission( - [ - RoleConst.ADMIN, - RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, - PermissionConst.KNOWLEDGE_READ.getKnowledgeWorkspaceResourcePermission(source_id), - PermissionConst.KNOWLEDGE_READ.getWorkspacePermissionWorkspaceManageRole, - ], - 'OR', - ), sync: (source_id:string) => hasPermission( [ diff --git a/ui/src/router/modules/system.ts b/ui/src/router/modules/system.ts index 6b013faa..6d5a0444 100644 --- a/ui/src/router/modules/system.ts +++ b/ui/src/router/modules/system.ts @@ -134,6 +134,14 @@ const systemRouter = { activeMenu: '/system', parentPath: '/system', parentName: 'system', + permission: [ + new ComplexPermission( + [RoleConst.ADMIN], + [PermissionConst.SHARED_KNOWLEDGE_READ], + [EditionConst.IS_EE], + 'OR' + ) + ] }, component: () => import('@/views/system-shared/KnowLedgeSharedIndex.vue'), },