diff --git a/ui/src/permission/knowledge/system-manage.ts b/ui/src/permission/knowledge/system-manage.ts index adf904aa227..3983d1fff4b 100644 --- a/ui/src/permission/knowledge/system-manage.ts +++ b/ui/src/permission/knowledge/system-manage.ts @@ -6,21 +6,33 @@ const workspace = { hasPermission( new ComplexPermission( [RoleConst.ADMIN], - [PermissionConst.SHARED_TOOL_READ], + [PermissionConst.SHARED_KNOWLEDGE_READ], [EditionConst.IS_EE], 'OR', ), 'OR', ), - delete: () => - hasPermission( - [ - RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, - RoleConst.USER.getWorkspaceRole, - PermissionConst.TOOL_DELETE.getWorkspacePermission, - ], - 'OR', - ), + create: () => false, + single: () => false, + sync: () => false, + vector: () => false, + generate: () => false, + setting: () => false, + export: () => false, + delete: () => false, + + doc_create: () => false, + doc_vector: () => false, + doc_generate: () => false, + doc_migrate: () => false, + doc_edit: () => false, + doc_sync: () => false, + doc_delete: () => false, + doc_export: () => false, + + problem_create: () => false, + problem_relate: () => false, + problem_delete: () => false, } export default workspace diff --git a/ui/src/permission/knowledge/system-share.ts b/ui/src/permission/knowledge/system-share.ts index d70efd68eab..637f627fe0b 100644 --- a/ui/src/permission/knowledge/system-share.ts +++ b/ui/src/permission/knowledge/system-share.ts @@ -3,5 +3,24 @@ 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, + + doc_create: () => false, + doc_vector: () => false, + doc_generate: () => false, + doc_migrate: () => false, + doc_edit: () => false, + doc_sync: () => false, + doc_delete: () => false, + doc_export: () => false, + + } export default share diff --git a/ui/src/permission/knowledge/workspace.ts b/ui/src/permission/knowledge/workspace.ts index 00911d0e375..f153af80114 100644 --- a/ui/src/permission/knowledge/workspace.ts +++ b/ui/src/permission/knowledge/workspace.ts @@ -6,12 +6,173 @@ const workspace = { hasPermission( new ComplexPermission( [RoleConst.ADMIN], - [PermissionConst.SHARED_TOOL_READ], + [PermissionConst.SHARED_KNOWLEDGE_READ], [EditionConst.IS_EE], 'OR', ), 'OR', ), + create: () => + hasPermission( + [ + RoleConst.ADMIN, + RoleConst.USER.getWorkspaceRole, + RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, + PermissionConst.KNOWLEDGE_CREATE.getWorkspacePermission, + PermissionConst.KNOWLEDGE_CREATE.getWorkspacePermissionWorkspaceManageRole, + ], + '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( + [ + RoleConst.ADMIN, + RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, + PermissionConst.KNOWLEDGE_DOCUMENT_SYNC.getKnowledgeWorkspaceResourcePermission(source_id), + PermissionConst.KNOWLEDGE_DOCUMENT_SYNC.getWorkspacePermissionWorkspaceManageRole, + ], + 'OR', + ), + vector: (source_id:string) => + hasPermission( + [ + RoleConst.ADMIN, + RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, + PermissionConst.KNOWLEDGE_DOCUMENT_VECTOR.getKnowledgeWorkspaceResourcePermission(source_id), + PermissionConst.KNOWLEDGE_DOCUMENT_VECTOR.getWorkspacePermissionWorkspaceManageRole, + ], + 'OR', + ), + generate: (source_id:string) => + hasPermission( + [ + RoleConst.ADMIN, + RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, + PermissionConst.KNOWLEDGE_GENERATE.getKnowledgeWorkspaceResourcePermission(source_id), + PermissionConst.KNOWLEDGE_GENERATE.getWorkspacePermissionWorkspaceManageRole, + ], + 'OR', + ), + setting: (source_id:string) => + hasPermission( + [ + RoleConst.ADMIN, + RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, + PermissionConst.KNOWLEDGE_EDIT.getKnowledgeWorkspaceResourcePermission(source_id), + PermissionConst.KNOWLEDGE_EDIT.getWorkspacePermissionWorkspaceManageRole, + ], + 'OR', + ), + export: (source_id:string) => + hasPermission( + [ + RoleConst.ADMIN, + RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, + PermissionConst.KNOWLEDGE_EXPORT.getKnowledgeWorkspaceResourcePermission(source_id), + PermissionConst.KNOWLEDGE_EXPORT.getWorkspacePermissionWorkspaceManageRole, + ], + 'OR', + ), + delete: (source_id:string) => + hasPermission( + [ + RoleConst.ADMIN, + RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, + PermissionConst.KNOWLEDGE_DELETE.getKnowledgeWorkspaceResourcePermission(source_id), + PermissionConst.KNOWLEDGE_DELETE.getWorkspacePermissionWorkspaceManageRole, + ], + 'OR', + ), + doc_create: (source_id:string) => + hasPermission( + [ + RoleConst.ADMIN, + RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, + PermissionConst.KNOWLEDGE_DOCUMENT_CREATE.getKnowledgeWorkspaceResourcePermission(source_id), + PermissionConst.KNOWLEDGE_DOCUMENT_CREATE.getWorkspacePermissionWorkspaceManageRole, + ], + 'OR', + ), + doc_vector: (source_id:string) => + hasPermission( + [ + RoleConst.ADMIN, + RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, + PermissionConst.KNOWLEDGE_DOCUMENT_VECTOR.getKnowledgeWorkspaceResourcePermission(source_id), + PermissionConst.KNOWLEDGE_DOCUMENT_VECTOR.getWorkspacePermissionWorkspaceManageRole, + ], + 'OR', + ), + doc_generate: (source_id:string) => + hasPermission( + [ + RoleConst.ADMIN, + RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, + PermissionConst.KNOWLEDGE_DOCUMENT_GENERATE.getKnowledgeWorkspaceResourcePermission(source_id), + PermissionConst.KNOWLEDGE_DOCUMENT_GENERATE.getWorkspacePermissionWorkspaceManageRole, + ], + 'OR', + ), + doc_migrate: (source_id:string) => + hasPermission( + [ + RoleConst.ADMIN, + RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, + PermissionConst.KNOWLEDGE_DOCUMENT_MIGRATE.getKnowledgeWorkspaceResourcePermission(source_id), + PermissionConst.KNOWLEDGE_DOCUMENT_MIGRATE.getWorkspacePermissionWorkspaceManageRole, + ], + 'OR', + ), + doc_edit: (source_id:string) => + hasPermission( + [ + RoleConst.ADMIN, + RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, + PermissionConst.KNOWLEDGE_DOCUMENT_EDIT.getKnowledgeWorkspaceResourcePermission(source_id), + PermissionConst.KNOWLEDGE_DOCUMENT_EDIT.getWorkspacePermissionWorkspaceManageRole, + ], + 'OR', + ), + doc_sync: (source_id:string) => + hasPermission( + [ + RoleConst.ADMIN, + RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, + PermissionConst.KNOWLEDGE_DOCUMENT_SYNC.getKnowledgeWorkspaceResourcePermission(source_id), + PermissionConst.KNOWLEDGE_DOCUMENT_SYNC.getWorkspacePermissionWorkspaceManageRole, + ], + 'OR', + ), + doc_delete: (source_id:string) => + hasPermission( + [ + RoleConst.ADMIN, + RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, + PermissionConst.KNOWLEDGE_DOCUMENT_DELETE.getKnowledgeWorkspaceResourcePermission(source_id), + PermissionConst.KNOWLEDGE_DOCUMENT_DELETE.getWorkspacePermissionWorkspaceManageRole, + ], + 'OR', + ), + doc_export: (source_id:string) => + hasPermission( + [ + RoleConst.ADMIN, + RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, + PermissionConst.KNOWLEDGE_DOCUMENT_EXPORT.getKnowledgeWorkspaceResourcePermission(source_id), + PermissionConst.KNOWLEDGE_DOCUMENT_EXPORT.getWorkspacePermissionWorkspaceManageRole, + ], + 'OR', + ), } export default workspace diff --git a/ui/src/router/modules/document.ts b/ui/src/router/modules/document.ts index 6263a40103f..0f87e81bbc7 100644 --- a/ui/src/router/modules/document.ts +++ b/ui/src/router/modules/document.ts @@ -19,12 +19,6 @@ const DocumentRouter = { active: 'document', parentPath: '/knowledge/:id/:folderId', parentName: 'KnowledgeDetail', - permission: [ - RoleConst.ADMIN, - RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, - PermissionConst.KNOWLEDGE_DOCUMENT_READ.getWorkspacePermission, - PermissionConst.KNOWLEDGE_DOCUMENT_READ.getWorkspacePermissionWorkspaceManageRole - ], }, component: () => import('@/views/document/index.vue'), }, @@ -38,12 +32,6 @@ const DocumentRouter = { active: 'problem', parentPath: '/knowledge/:id/:folderId', parentName: 'KnowledgeDetail', - permission: [ - RoleConst.ADMIN, - RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, - PermissionConst.KNOWLEDGE_PROBLEM_READ.getWorkspacePermission, - PermissionConst.KNOWLEDGE_PROBLEM_READ.getWorkspacePermissionWorkspaceManageRole - ], }, component: () => import('@/views/problem/index.vue'), }, @@ -70,12 +58,6 @@ const DocumentRouter = { parentPath: '/knowledge/:id/:folderId', parentName: 'KnowledgeDetail', resourceType: ChatUserResourceEnum.KNOWLEDGE, - permission: [ - RoleConst.ADMIN, - RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, - PermissionConst.WORKSPACE_CHAT_USER_READ.getWorkspacePermission, - PermissionConst.WORKSPACE_CHAT_USER_READ.getWorkspacePermissionWorkspaceManageRole - ], }, component: () => import('@/views/chat-user/index.vue'), }, @@ -89,13 +71,6 @@ const DocumentRouter = { active: 'setting', parentPath: '/knowledge/:id/:folderId', parentName: 'KnowledgeDetail', - permission: [ - RoleConst.ADMIN, - RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, - PermissionConst.KNOWLEDGE_EDIT.getWorkspacePermission, - PermissionConst.KNOWLEDGE_EDIT.getWorkspacePermissionWorkspaceManageRole - ] - }, component: () => import('@/views/knowledge/KnowledgeSetting.vue'), }, diff --git a/ui/src/utils/permission/data.ts b/ui/src/utils/permission/data.ts index c1be24652f5..a6860091a3e 100644 --- a/ui/src/utils/permission/data.ts +++ b/ui/src/utils/permission/data.ts @@ -89,6 +89,7 @@ const PermissionConst = { KNOWLEDGE_EDIT: new Permission('KNOWLEDGE:READ+EDIT'), KNOWLEDGE_EXPORT: new Permission('KNOWLEDGE:READ+EXPORT'), KNOWLEDGE_DELETE: new Permission('KNOWLEDGE:READ+DELETE'), + KNOWLEDGE_GENERATE: new Permission('KNOWLEDGE:READ+GENERATE'), KNOWLEDGE_DOCUMENT_READ:new Permission('KNOWLEDGE_DOCUMENT:READ'), KNOWLEDGE_DOCUMENT_CREATE:new Permission('KNOWLEDGE_DOCUMENT:READ+CREATE'), diff --git a/ui/src/utils/permission/type.ts b/ui/src/utils/permission/type.ts index b587d27048c..141d6865373 100644 --- a/ui/src/utils/permission/type.ts +++ b/ui/src/utils/permission/type.ts @@ -1,4 +1,5 @@ import useStore from '@/stores' +import { useRoute } from 'vue-router' export type PF = () => Role | string | Permission | ComplexPermission export type CRF = () => Role | string export type CPF = () => Permission | string @@ -69,6 +70,12 @@ export class Permission { getKnowledgeWorkspaceResourcePermission = (resource_id: string) => { return this.getWorkspaceResourcePermission('KNOWLEDGE', resource_id) } + getTest=()=>{ + const route=useRoute() + debugger + console.log(route) + return "" + } /** * * @param resource_id 资源id diff --git a/ui/src/views/document/index.vue b/ui/src/views/document/index.vue index da63d0df7fb..96f7918e3e7 100644 --- a/ui/src/views/document/index.vue +++ b/ui/src/views/document/index.vue @@ -7,73 +7,51 @@