diff --git a/ui/src/permission/application/workspace.ts b/ui/src/permission/application/workspace.ts index 647d638e3..462a9cd74 100644 --- a/ui/src/permission/application/workspace.ts +++ b/ui/src/permission/application/workspace.ts @@ -1,11 +1,11 @@ import { hasPermission } from '@/utils/permission/index' import { PermissionConst, RoleConst } from '@/utils/permission/data' +import { ComplexPermission } from '@/utils/permission/type' const workspace = { create: () => hasPermission( [ - RoleConst.ADMIN, RoleConst.USER.getWorkspaceRole, RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.APPLICATION_CREATE.getWorkspacePermission, @@ -16,7 +16,7 @@ const workspace = { edit: (source_id:string) => hasPermission( [ - RoleConst.ADMIN, + new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(source_id)],[],'AND'), RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.APPLICATION_EDIT.getWorkspacePermissionWorkspaceManageRole, PermissionConst.APPLICATION_EDIT.getApplicationWorkspaceResourcePermission(source_id) @@ -26,7 +26,7 @@ const workspace = { export: (source_id:string) => hasPermission( [ - RoleConst.ADMIN, + new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(source_id)],[],'AND'), RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.APPLICATION_EXPORT.getWorkspacePermissionWorkspaceManageRole, PermissionConst.APPLICATION_EXPORT.getApplicationWorkspaceResourcePermission(source_id) @@ -36,7 +36,7 @@ const workspace = { delete: (source_id:string) => hasPermission( [ - RoleConst.ADMIN, + new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(source_id)],[],'AND'), RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.APPLICATION_DELETE.getWorkspacePermissionWorkspaceManageRole, PermissionConst.APPLICATION_DELETE.getApplicationWorkspaceResourcePermission(source_id) @@ -46,7 +46,7 @@ const workspace = { overview_embed: (source_id:string) => hasPermission( [ - RoleConst.ADMIN, + new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(source_id)],[],'AND'), RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.APPLICATION_OVERVIEW_EMBEDDED.getWorkspacePermissionWorkspaceManageRole, PermissionConst.APPLICATION_OVERVIEW_EMBEDDED.getApplicationWorkspaceResourcePermission(source_id) @@ -55,8 +55,7 @@ const workspace = { ), overview_access: (source_id:string) => hasPermission( - [ - RoleConst.ADMIN, + [new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(source_id)],[],'AND'), RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.APPLICATION_OVERVIEW_ACCESS.getWorkspacePermissionWorkspaceManageRole, PermissionConst.APPLICATION_OVERVIEW_ACCESS.getApplicationWorkspaceResourcePermission(source_id) @@ -68,7 +67,7 @@ const workspace = { overview_display: (source_id:string) => hasPermission( [ - RoleConst.ADMIN, + new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(source_id)],[],'AND'), RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.APPLICATION_OVERVIEW_DISPLAY.getWorkspacePermissionWorkspaceManageRole, PermissionConst.APPLICATION_OVERVIEW_DISPLAY.getApplicationWorkspaceResourcePermission(source_id) @@ -78,7 +77,7 @@ const workspace = { overview_api_key: (source_id:string) => hasPermission( [ - RoleConst.ADMIN, + new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(source_id)],[],'AND'), RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.APPLICATION_OVERVIEW_API_KEY.getWorkspacePermissionWorkspaceManageRole, PermissionConst.APPLICATION_OVERVIEW_API_KEY.getApplicationWorkspaceResourcePermission(source_id) @@ -88,7 +87,7 @@ const workspace = { access_edit: (source_id:string) => hasPermission( [ - RoleConst.ADMIN, + new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(source_id)],[],'AND'), RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.APPLICATION_ACCESS_EDIT.getWorkspacePermissionWorkspaceManageRole, PermissionConst.APPLICATION_ACCESS_EDIT.getApplicationWorkspaceResourcePermission(source_id) @@ -98,7 +97,7 @@ const workspace = { application_chat_user_edit: (source_id:string) => hasPermission( [ - RoleConst.ADMIN, + new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(source_id)],[],'AND'), RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.APPLICATION_CHAT_USER_EDIT.getWorkspacePermissionWorkspaceManageRole, PermissionConst.APPLICATION_CHAT_USER_EDIT.getApplicationWorkspaceResourcePermission(source_id) @@ -108,7 +107,7 @@ const workspace = { chat_log_clear: (source_id:string) => hasPermission( [ - RoleConst.ADMIN, + new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(source_id)],[],'AND'), RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.APPLICATION_CHAT_LOG_CLEAR_POLICY.getWorkspacePermissionWorkspaceManageRole, PermissionConst.APPLICATION_CHAT_LOG_CLEAR_POLICY.getApplicationWorkspaceResourcePermission(source_id) @@ -118,7 +117,7 @@ const workspace = { chat_log_export: (source_id:string) => hasPermission( [ - RoleConst.ADMIN, + new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(source_id)],[],'AND'), RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.APPLICATION_CHAT_LOG_EXPORT.getWorkspacePermissionWorkspaceManageRole, PermissionConst.APPLICATION_CHAT_LOG_EXPORT.getApplicationWorkspaceResourcePermission(source_id) @@ -128,7 +127,7 @@ const workspace = { chat_log_add_knowledge: (source_id:string) => hasPermission( [ - RoleConst.ADMIN, + new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(source_id)],[],'AND'), RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.APPLICATION_CHAT_LOG_ADD_KNOWLEDGE.getWorkspacePermissionWorkspaceManageRole, PermissionConst.APPLICATION_CHAT_LOG_ADD_KNOWLEDGE.getApplicationWorkspaceResourcePermission(source_id) diff --git a/ui/src/permission/knowledge/workspace.ts b/ui/src/permission/knowledge/workspace.ts index b960fa29b..78c5d165a 100644 --- a/ui/src/permission/knowledge/workspace.ts +++ b/ui/src/permission/knowledge/workspace.ts @@ -23,6 +23,7 @@ const workspace = { sync: (source_id:string) => hasPermission( [ + new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'), RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.KNOWLEDGE_DOCUMENT_SYNC.getKnowledgeWorkspaceResourcePermission(source_id), PermissionConst.KNOWLEDGE_DOCUMENT_SYNC.getWorkspacePermissionWorkspaceManageRole, @@ -32,6 +33,7 @@ const workspace = { vector: (source_id:string) => hasPermission( [ + new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'), RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.KNOWLEDGE_DOCUMENT_VECTOR.getKnowledgeWorkspaceResourcePermission(source_id), PermissionConst.KNOWLEDGE_DOCUMENT_VECTOR.getWorkspacePermissionWorkspaceManageRole, @@ -41,6 +43,7 @@ const workspace = { generate: (source_id:string) => hasPermission( [ + new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'), RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.KNOWLEDGE_GENERATE.getKnowledgeWorkspaceResourcePermission(source_id), PermissionConst.KNOWLEDGE_GENERATE.getWorkspacePermissionWorkspaceManageRole, @@ -50,6 +53,7 @@ const workspace = { setting: (source_id:string) => hasPermission( [ + new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'), RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.KNOWLEDGE_EDIT.getKnowledgeWorkspaceResourcePermission(source_id), PermissionConst.KNOWLEDGE_EDIT.getWorkspacePermissionWorkspaceManageRole, @@ -59,6 +63,7 @@ const workspace = { export: (source_id:string) => hasPermission( [ + new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'), RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.KNOWLEDGE_EXPORT.getKnowledgeWorkspaceResourcePermission(source_id), PermissionConst.KNOWLEDGE_EXPORT.getWorkspacePermissionWorkspaceManageRole, @@ -68,6 +73,7 @@ const workspace = { delete: (source_id:string) => hasPermission( [ + new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'), RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.KNOWLEDGE_DELETE.getKnowledgeWorkspaceResourcePermission(source_id), PermissionConst.KNOWLEDGE_DELETE.getWorkspacePermissionWorkspaceManageRole, @@ -77,6 +83,7 @@ const workspace = { doc_create: (source_id:string) => hasPermission( [ + new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'), RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.KNOWLEDGE_DOCUMENT_CREATE.getKnowledgeWorkspaceResourcePermission(source_id), PermissionConst.KNOWLEDGE_DOCUMENT_CREATE.getWorkspacePermissionWorkspaceManageRole, @@ -86,6 +93,7 @@ const workspace = { doc_vector: (source_id:string) => hasPermission( [ + new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'), RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.KNOWLEDGE_DOCUMENT_VECTOR.getKnowledgeWorkspaceResourcePermission(source_id), PermissionConst.KNOWLEDGE_DOCUMENT_VECTOR.getWorkspacePermissionWorkspaceManageRole, @@ -95,6 +103,7 @@ const workspace = { doc_generate: (source_id:string) => hasPermission( [ + new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'), RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.KNOWLEDGE_DOCUMENT_GENERATE.getKnowledgeWorkspaceResourcePermission(source_id), PermissionConst.KNOWLEDGE_DOCUMENT_GENERATE.getWorkspacePermissionWorkspaceManageRole, @@ -104,6 +113,7 @@ const workspace = { doc_migrate: (source_id:string) => hasPermission( [ + new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'), RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.KNOWLEDGE_DOCUMENT_MIGRATE.getKnowledgeWorkspaceResourcePermission(source_id), PermissionConst.KNOWLEDGE_DOCUMENT_MIGRATE.getWorkspacePermissionWorkspaceManageRole, @@ -113,6 +123,7 @@ const workspace = { doc_edit: (source_id:string) => hasPermission( [ + new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'), RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.KNOWLEDGE_DOCUMENT_EDIT.getKnowledgeWorkspaceResourcePermission(source_id), PermissionConst.KNOWLEDGE_DOCUMENT_EDIT.getWorkspacePermissionWorkspaceManageRole, @@ -122,6 +133,7 @@ const workspace = { doc_sync: (source_id:string) => hasPermission( [ + new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'), RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.KNOWLEDGE_DOCUMENT_SYNC.getKnowledgeWorkspaceResourcePermission(source_id), PermissionConst.KNOWLEDGE_DOCUMENT_SYNC.getWorkspacePermissionWorkspaceManageRole, @@ -131,6 +143,7 @@ const workspace = { doc_delete: (source_id:string) => hasPermission( [ + new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'), RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.KNOWLEDGE_DOCUMENT_DELETE.getKnowledgeWorkspaceResourcePermission(source_id), PermissionConst.KNOWLEDGE_DOCUMENT_DELETE.getWorkspacePermissionWorkspaceManageRole, @@ -140,6 +153,7 @@ const workspace = { doc_export: (source_id:string) => hasPermission( [ + new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'), RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.KNOWLEDGE_DOCUMENT_EXPORT.getKnowledgeWorkspaceResourcePermission(source_id), PermissionConst.KNOWLEDGE_DOCUMENT_EXPORT.getWorkspacePermissionWorkspaceManageRole, @@ -149,6 +163,7 @@ const workspace = { doc_download: (source_id:string) => hasPermission( [ + new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'), RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.KNOWLEDGE_DOCUMENT_DOWNLOAD_SOURCE_FILE.getKnowledgeWorkspaceResourcePermission(source_id), PermissionConst.KNOWLEDGE_DOCUMENT_DOWNLOAD_SOURCE_FILE.getWorkspacePermissionWorkspaceManageRole, @@ -158,6 +173,7 @@ const workspace = { knowledge_chat_user_edit: (source_id:string) => hasPermission( [ + new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'), RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.KNOWLEDGE_CHAT_USER_EDIT.getKnowledgeWorkspaceResourcePermission(source_id), PermissionConst.KNOWLEDGE_CHAT_USER_EDIT.getWorkspacePermissionWorkspaceManageRole, @@ -167,6 +183,7 @@ const workspace = { problem_create: (source_id:string) => hasPermission( [ + new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'), RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.KNOWLEDGE_PROBLEM_CREATE.getKnowledgeWorkspaceResourcePermission(source_id), PermissionConst.KNOWLEDGE_PROBLEM_CREATE.getWorkspacePermissionWorkspaceManageRole, @@ -176,6 +193,7 @@ const workspace = { problem_relate: (source_id:string) => hasPermission( [ + new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'), RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.KNOWLEDGE_PROBLEM_RELATE.getKnowledgeWorkspaceResourcePermission(source_id), PermissionConst.KNOWLEDGE_PROBLEM_RELATE.getWorkspacePermissionWorkspaceManageRole, @@ -185,6 +203,7 @@ const workspace = { problem_delete: (source_id:string) => hasPermission( [ + new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'), RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.KNOWLEDGE_PROBLEM_DELETE.getKnowledgeWorkspaceResourcePermission(source_id), PermissionConst.KNOWLEDGE_PROBLEM_DELETE.getWorkspacePermissionWorkspaceManageRole, diff --git a/ui/src/permission/model/workspace.ts b/ui/src/permission/model/workspace.ts index 90280fa00..b903c7918 100644 --- a/ui/src/permission/model/workspace.ts +++ b/ui/src/permission/model/workspace.ts @@ -23,6 +23,7 @@ const workspace = { modify: (source_id:string) => hasPermission( [ + new ComplexPermission([RoleConst.USER],[PermissionConst.MODEL.getModelWorkspaceResourcePermission(source_id)],[],'AND'), RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.MODEL_EDIT.getModelWorkspaceResourcePermission(source_id), PermissionConst.MODEL_EDIT.getWorkspacePermissionWorkspaceManageRole @@ -32,7 +33,7 @@ const workspace = { paramSetting: (source_id:string) => hasPermission( [ - RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, + new ComplexPermission([RoleConst.USER],[PermissionConst.MODEL.getModelWorkspaceResourcePermission(source_id)],[],'AND'), PermissionConst.MODEL_EDIT.getModelWorkspaceResourcePermission(source_id), PermissionConst.MODEL_EDIT.getWorkspacePermissionWorkspaceManageRole ], @@ -41,7 +42,7 @@ const workspace = { delete: (source_id:string) => hasPermission( [ - RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, + new ComplexPermission([RoleConst.USER],[PermissionConst.MODEL.getModelWorkspaceResourcePermission(source_id)],[],'AND'), PermissionConst.MODEL_DELETE.getModelWorkspaceResourcePermission(source_id), PermissionConst.MODEL_DELETE.getWorkspacePermissionWorkspaceManageRole ], diff --git a/ui/src/permission/tool/workspace.ts b/ui/src/permission/tool/workspace.ts index 3b58c0aea..93b0a740b 100644 --- a/ui/src/permission/tool/workspace.ts +++ b/ui/src/permission/tool/workspace.ts @@ -24,6 +24,7 @@ const workspace = { delete: (source_id:string) => hasPermission( [ + new ComplexPermission([RoleConst.USER],[PermissionConst.TOOL.getToolWorkspaceResourcePermission(source_id)],[],'AND'), RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.TOOL_DELETE.getToolWorkspaceResourcePermission(source_id), PermissionConst.TOOL_DELETE.getWorkspacePermissionWorkspaceManageRole @@ -33,6 +34,7 @@ const workspace = { switch: (source_id:string) => hasPermission( [ + new ComplexPermission([RoleConst.USER],[PermissionConst.TOOL.getToolWorkspaceResourcePermission(source_id)],[],'AND'), RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.TOOL_EDIT.getToolWorkspaceResourcePermission(source_id), PermissionConst.TOOL_EDIT.getWorkspacePermissionWorkspaceManageRole @@ -42,6 +44,7 @@ const workspace = { edit: (source_id:string) => hasPermission( [ + new ComplexPermission([RoleConst.USER],[PermissionConst.TOOL.getToolWorkspaceResourcePermission(source_id)],[],'AND'), RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.TOOL_EDIT.getToolWorkspaceResourcePermission(source_id), PermissionConst.TOOL_EDIT.getWorkspacePermissionWorkspaceManageRole @@ -51,8 +54,8 @@ const workspace = { copy: (source_id:string) => hasPermission( [ + new ComplexPermission([RoleConst.USER],[PermissionConst.TOOL.getToolWorkspaceResourcePermission(source_id)],[],'AND'), RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, - RoleConst.USER.getWorkspaceRole, PermissionConst.TOOL_EXPORT.getToolWorkspaceResourcePermission(source_id), PermissionConst.TOOL_EXPORT.getWorkspacePermissionWorkspaceManageRole ], @@ -61,8 +64,8 @@ const workspace = { export: (source_id:string) => hasPermission( [ + new ComplexPermission([RoleConst.USER],[PermissionConst.TOOL.getToolWorkspaceResourcePermission(source_id)],[],'AND'), RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, - RoleConst.USER.getWorkspaceRole, PermissionConst.TOOL_EXPORT.getToolWorkspaceResourcePermission(source_id), PermissionConst.TOOL_EXPORT.getWorkspacePermissionWorkspaceManageRole ], @@ -70,9 +73,9 @@ const workspace = { ), debug: (source_id:string) => hasPermission( - [ + [ + new ComplexPermission([RoleConst.USER],[PermissionConst.TOOL.getToolWorkspaceResourcePermission(source_id)],[],'AND'), RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, - RoleConst.USER.getWorkspaceRole, PermissionConst.TOOL_DEBUG.getToolWorkspaceResourcePermission(source_id), PermissionConst.TOOL_DEBUG.getWorkspacePermissionWorkspaceManageRole ], diff --git a/ui/src/router/modules/application-detail.ts b/ui/src/router/modules/application-detail.ts index 2a09f1dea..33ac7267d 100644 --- a/ui/src/router/modules/application-detail.ts +++ b/ui/src/router/modules/application-detail.ts @@ -2,6 +2,7 @@ import { SourceTypeEnum } from '@/enums/common' import { get_next_route } from '@/utils/permission' import { PermissionConst, RoleConst } from '@/utils/permission/data' +import { ComplexPermission } from '@/utils/permission/type' const ApplicationDetailRouter = { path: '/application/:id/:type', @@ -21,7 +22,10 @@ const ApplicationDetailRouter = { parentPath: '/application/:id/:type', parentName: 'ApplicationDetail', permission: [ - RoleConst.ADMIN, + () => { + const to: any = get_next_route() + return new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission( to ? to.params.id : '',)],[],'AND')}, + RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.APPLICATION_OVERVIEW_READ.getWorkspacePermissionWorkspaceManageRole, () => { @@ -45,7 +49,9 @@ const ApplicationDetailRouter = { parentPath: '/application/:id/:type', parentName: 'ApplicationDetail', permission: [ - RoleConst.ADMIN, + () => { + const to: any = get_next_route() + return new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission( to ? to.params.id : '',)],[],'AND')}, RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.APPLICATION_EDIT.getWorkspacePermissionWorkspaceManageRole, () => { @@ -69,7 +75,9 @@ const ApplicationDetailRouter = { parentPath: '/application/:id/:type', parentName: 'ApplicationDetail', permission: [ - RoleConst.ADMIN, + () => { + const to: any = get_next_route() + return new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission( to ? to.params.id : '',)],[],'AND')}, RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.APPLICATION_ACCESS_READ.getWorkspacePermissionWorkspaceManageRole, () => { @@ -94,7 +102,9 @@ const ApplicationDetailRouter = { parentName: 'ApplicationDetail', resourceType: SourceTypeEnum.APPLICATION, permission: [ - RoleConst.ADMIN, + () => { + const to: any = get_next_route() + return new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission( to ? to.params.id : '',)],[],'AND')}, RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.APPLICATION_CHAT_USER_READ.getWorkspacePermissionWorkspaceManageRole, () => { @@ -118,7 +128,9 @@ const ApplicationDetailRouter = { parentPath: '/application/:id/:type', parentName: 'ApplicationDetail', permission: [ - RoleConst.ADMIN, + () => { + const to: any = get_next_route() + return new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission( to ? to.params.id : '',)],[],'AND')}, RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.APPLICATION_CHAT_LOG_READ.getWorkspacePermissionWorkspaceManageRole, () => { diff --git a/ui/src/router/modules/application.ts b/ui/src/router/modules/application.ts index c3fcbea9a..72eec5027 100644 --- a/ui/src/router/modules/application.ts +++ b/ui/src/router/modules/application.ts @@ -6,7 +6,6 @@ const applicationRouter = { title: 'views.application.title', menu: true, permission: [ - RoleConst.ADMIN, RoleConst.USER.getWorkspaceRole, RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, PermissionConst.APPLICATION_READ.getWorkspacePermissionWorkspaceManageRole, diff --git a/ui/src/router/modules/document.ts b/ui/src/router/modules/document.ts index 28a7be9eb..52bd3b4ca 100644 --- a/ui/src/router/modules/document.ts +++ b/ui/src/router/modules/document.ts @@ -21,12 +21,16 @@ const DocumentRouter = { parentName: 'KnowledgeDetail', group: 'KnowledgeDetail', permission: [ - RoleConst.ADMIN, () => { const to: any = get_next_route() - if (to.params.folder_id == 'shared') { - return RoleConst.ADMIN - }else { + if (to.params.folderId == 'shared') { return RoleConst.ADMIN } + else { return new ComplexPermission([RoleConst.USER], [PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(to ? to.params.id : '',)], [], 'AND') } + }, + () => { + const to: any = get_next_route() + if (to.params.folderId == 'shared') { + return RoleConst.ADMIN + } else { return RoleConst.WORKSPACE_MANAGE.getWorkspaceRole } }, @@ -35,14 +39,16 @@ const DocumentRouter = { if (to.params.folderId == 'shared') { - return PermissionConst.SHARED_KNOWLEDGE_DOCUMENT_READ } else { + return PermissionConst.SHARED_KNOWLEDGE_DOCUMENT_READ + } else { return PermissionConst.KNOWLEDGE_DOCUMENT_READ.getKnowledgeWorkspaceResourcePermission( - to ? to.params.id : '', - )} + to ? to.params.id : '', + ) + } }, () => { const to: any = get_next_route() - if (to.params.folderId == 'shared'){ return RoleConst.ADMIN } else { + if (to.params.folderId == 'shared') { return RoleConst.ADMIN } else { return PermissionConst.KNOWLEDGE_DOCUMENT_READ.getWorkspacePermissionWorkspaceManageRole } } @@ -62,16 +68,22 @@ const DocumentRouter = { parentName: 'KnowledgeDetail', group: 'KnowledgeDetail', permission: [ - RoleConst.ADMIN, + () => { + const to: any = get_next_route() + if (to.params.folderId == 'shared') { return RoleConst.ADMIN } + else { return new ComplexPermission([RoleConst.USER], [PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(to ? to.params.id : '',)], [], 'AND') } + }, () => { const to: any = get_next_route() if (to.params.folderId == 'shared') { return RoleConst.ADMIN } else { return RoleConst.WORKSPACE_MANAGE.getWorkspaceRole } }, () => { const to: any = get_next_route() - if (to.params.folderId == 'shared') { return PermissionConst.SHARED_KNOWLEDGE_PROBLEM_READ } else { return PermissionConst.KNOWLEDGE_PROBLEM_READ.getKnowledgeWorkspaceResourcePermission( - to ? to.params.id : '', - ) } + if (to.params.folderId == 'shared') { return PermissionConst.SHARED_KNOWLEDGE_PROBLEM_READ } else { + return PermissionConst.KNOWLEDGE_PROBLEM_READ.getKnowledgeWorkspaceResourcePermission( + to ? to.params.id : '', + ) + } }, () => { const to: any = get_next_route() @@ -92,16 +104,22 @@ const DocumentRouter = { parentName: 'KnowledgeDetail', group: 'KnowledgeDetail', permission: [ - RoleConst.ADMIN, + () => { + const to: any = get_next_route() + if (to.params.folderId == 'shared') { return RoleConst.ADMIN } + else { return new ComplexPermission([RoleConst.USER], [PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(to ? to.params.id : '',)], [], 'AND') } + }, () => { const to: any = get_next_route() if (to.params.folderId == 'shared') { return RoleConst.ADMIN } else { return RoleConst.WORKSPACE_MANAGE.getWorkspaceRole } }, () => { const to: any = get_next_route() - if (to.params.folderId == 'shared') { return PermissionConst.SHARED_KNOWLEDGE_HIT_TEST_READ } else { return PermissionConst.KNOWLEDGE_HIT_TEST_READ.getKnowledgeWorkspaceResourcePermission( - to ? to.params.id : '', - ) } + if (to.params.folderId == 'shared') { return PermissionConst.SHARED_KNOWLEDGE_HIT_TEST_READ } else { + return PermissionConst.KNOWLEDGE_HIT_TEST_READ.getKnowledgeWorkspaceResourcePermission( + to ? to.params.id : '', + ) + } }, () => { const to: any = get_next_route() @@ -123,15 +141,15 @@ const DocumentRouter = { parentName: 'KnowledgeDetail', resourceType: SourceTypeEnum.KNOWLEDGE, group: 'KnowledgeDetail', - permission: new ComplexPermission([ RoleConst.ADMIN, - () => { - const to: any = get_next_route() - if (to.params.folderId == 'shared') { - return RoleConst.ADMIN - } else { - return RoleConst.WORKSPACE_MANAGE.getWorkspaceRole() - } - },],[ + permission: [new ComplexPermission([RoleConst.ADMIN, + () => { + const to: any = get_next_route() + if (to.params.folderId == 'shared') { + return RoleConst.ADMIN + } else { + return RoleConst.WORKSPACE_MANAGE.getWorkspaceRole() + } + },], [ () => { const to: any = get_next_route() if (to.params.folderId == 'shared') { @@ -145,10 +163,16 @@ const DocumentRouter = { () => { const to: any = get_next_route() if (to.params.folder_id == 'shared') { - return PermissionConst.SHARED_KNOWLEDGE_CHAT_USER_READ + return PermissionConst.SHARED_KNOWLEDGE_CHAT_USER_READ } else { return PermissionConst.KNOWLEDGE_CHAT_USER_READ.getWorkspacePermissionWorkspaceManageRole() } }, - ],[EditionConst.IS_EE,EditionConst.IS_PE],'OR'), + ], [EditionConst.IS_EE, EditionConst.IS_PE], 'OR'), + () => { + const to: any = get_next_route() + if (to.params.folderId == 'shared') { return RoleConst.ADMIN } + else { return new ComplexPermission([RoleConst.USER], [PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(to ? to.params.id : '',)], [EditionConst.IS_EE, EditionConst.IS_PE], 'AND') } + }, + ] }, component: () => import('@/views/chat-user/index.vue'), }, @@ -164,16 +188,22 @@ const DocumentRouter = { parentName: 'KnowledgeDetail', group: 'KnowledgeDetail', permission: [ - RoleConst.ADMIN, + () => { + const to: any = get_next_route() + if (to.params.folderId == 'shared') { return RoleConst.ADMIN } + else { return new ComplexPermission([RoleConst.USER], [PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(to ? to.params.id : '',)], [], 'AND') } + }, () => { const to: any = get_next_route() if (to.params.folderId == 'shared') { return RoleConst.ADMIN } else { return RoleConst.WORKSPACE_MANAGE.getWorkspaceRole } }, () => { const to: any = get_next_route() - if (to.params.folderId == 'shared') { return PermissionConst.SHARED_KNOWLEDGE_EDIT } else { return PermissionConst.KNOWLEDGE_EDIT.getKnowledgeWorkspaceResourcePermission( - to ? to.params.id : '', - ) } + if (to.params.folderId == 'shared') { return PermissionConst.SHARED_KNOWLEDGE_EDIT } else { + return PermissionConst.KNOWLEDGE_EDIT.getKnowledgeWorkspaceResourcePermission( + to ? to.params.id : '', + ) + } }, () => { const to: any = get_next_route() diff --git a/ui/src/utils/permission/data.ts b/ui/src/utils/permission/data.ts index b0f8b9a40..68cf3f5de 100644 --- a/ui/src/utils/permission/data.ts +++ b/ui/src/utils/permission/data.ts @@ -25,6 +25,12 @@ import { Permission, Role, Edition } from '@/utils/permission/type' // ANNOTATION = "READ+ANNOTATION" # 标注 // CLEAR_POLICY = "READ+CLEAR_POLICY" const PermissionConst = { + + APPLICATION: new Permission('APPLICATION'), + KNOWLEDGE: new Permission('KNOWLEDGE'), + TOOL: new Permission('TOOL'), + MODEL: new Permission('MODEL'), + USER_READ: new Permission('USER_MANAGEMENT:READ'), USER_CREATE: new Permission('USER_MANAGEMENT:READ+CREATE'), USER_EDIT: new Permission('USER_MANAGEMENT:READ+EDIT'),