diff --git a/ui/src/permission/tool/workspace.ts b/ui/src/permission/tool/workspace.ts
index adf904aa2..1dbf2a098 100644
--- a/ui/src/permission/tool/workspace.ts
+++ b/ui/src/permission/tool/workspace.ts
@@ -18,9 +18,71 @@ const workspace = {
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
RoleConst.USER.getWorkspaceRole,
PermissionConst.TOOL_DELETE.getWorkspacePermission,
+ PermissionConst.TOOL_DELETE.getWorkspacePermissionWorkspaceManageRole
],
'OR',
),
+ 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'
+ ),
+
}
export default workspace
diff --git a/ui/src/router/modules/document.ts b/ui/src/router/modules/document.ts
index bdd4f7b74..6263a4010 100644
--- a/ui/src/router/modules/document.ts
+++ b/ui/src/router/modules/document.ts
@@ -1,3 +1,4 @@
+import role from '@/api/system/role'
import { ChatUserResourceEnum } from '@/enums/workspaceChatUser'
import { PermissionConst, EditionConst, RoleConst } from '@/utils/permission/data'
@@ -18,6 +19,12 @@ 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'),
},
@@ -31,6 +38,12 @@ 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'),
},
@@ -57,7 +70,12 @@ const DocumentRouter = {
parentPath: '/knowledge/:id/:folderId',
parentName: 'KnowledgeDetail',
resourceType: ChatUserResourceEnum.KNOWLEDGE,
- permission: [EditionConst.IS_PE, EditionConst.IS_EE],
+ 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'),
},
@@ -71,6 +89,13 @@ 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/views/application/index.vue b/ui/src/views/application/index.vue
index 3e198fd96..9215c19b9 100644
--- a/ui/src/views/application/index.vue
+++ b/ui/src/views/application/index.vue
@@ -48,8 +48,9 @@
type="primary"
class="ml-8"
v-hasPermission="[
+ RoleConst.ADMIN,
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
- RoleConst.USER.getWorkspaceRole,
+ PermissionConst.APPLICATION_EDIT.getWorkspacePermissionWorkspaceManageRole,
PermissionConst.APPLICATION_EDIT.getWorkspacePermission,
]"
>
diff --git a/ui/src/views/document/index.vue b/ui/src/views/document/index.vue
index 690ea2711..da63d0df7 100644
--- a/ui/src/views/document/index.vue
+++ b/ui/src/views/document/index.vue
@@ -14,7 +14,7 @@
"
v-hasPermission="[
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
- RoleConst.USER.getWorkspaceRole,
+ RoleConst.ADMIN,
PermissionConst.KNOWLEDGE_DOCUMENT_CREATE.getWorkspacePermissionWorkspaceManageRole,
PermissionConst.KNOWLEDGE_DOCUMENT_CREATE.getKnowledgeWorkspaceResourcePermission(id),
]"
@@ -25,7 +25,7 @@
type="primary"
@click="importDoc"
v-hasPermission="[
- RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,RoleConst.USER.getWorkspaceRole,
+ RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,RoleConst.ADMIN,
PermissionConst.KNOWLEDGE_DOCUMENT_CREATE.getWorkspacePermissionWorkspaceManageRole,
PermissionConst.KNOWLEDGE_DOCUMENT_CREATE.getKnowledgeWorkspaceResourcePermission(id),
]"
@@ -38,17 +38,21 @@
router.push({
path: `/knowledge/import`,
query: { id: id, folder_token: knowledgeDetail.meta.folder_token },
- })
- "
+ })"
+ v-hasPermission="[
+ RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,RoleConst.ADMIN,
+ PermissionConst.KNOWLEDGE_DOCUMENT_CREATE.getWorkspacePermissionWorkspaceManageRole,
+ PermissionConst.KNOWLEDGE_DOCUMENT_CREATE.getKnowledgeWorkspaceResourcePermission(id),
+ ]"
>{{ $t('views.document.importDocument') }}