diff --git a/ui/src/permission/application/system-manage.ts b/ui/src/permission/application/system-manage.ts index dfacb96b843..2369ea7e77b 100644 --- a/ui/src/permission/application/system-manage.ts +++ b/ui/src/permission/application/system-manage.ts @@ -38,6 +38,7 @@ const systemManage = { 'OR' ), folderDelete: () => false, + auth: () => false, overview_embed: () => hasPermission( [ diff --git a/ui/src/permission/application/workspace.ts b/ui/src/permission/application/workspace.ts index 396ef53f9c9..59d913d1a7d 100644 --- a/ui/src/permission/application/workspace.ts +++ b/ui/src/permission/application/workspace.ts @@ -43,6 +43,16 @@ const workspace = { ], 'OR' ), + auth: (source_id:string) => + hasPermission( + [ + new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(source_id)],[],'AND'), + RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, + PermissionConst.APPLICATION_RESOURCE_AUTHORIZATION.getWorkspacePermissionWorkspaceManageRole, + PermissionConst.APPLICATION_RESOURCE_AUTHORIZATION.getApplicationWorkspaceResourcePermission(source_id) + ], + 'OR' + ), folderEdit: () => hasPermission( [ diff --git a/ui/src/permission/knowledge/system-manage.ts b/ui/src/permission/knowledge/system-manage.ts index 8f3662a6607..6f88abe382a 100644 --- a/ui/src/permission/knowledge/system-manage.ts +++ b/ui/src/permission/knowledge/system-manage.ts @@ -151,6 +151,7 @@ const systemManage = { ],'OR' ), + auth: () => false, folderCreate: () => false, folderEdit: () => false, folderDelete: () => false, diff --git a/ui/src/permission/knowledge/system-share.ts b/ui/src/permission/knowledge/system-share.ts index cc5fa6a8a33..655be62b322 100644 --- a/ui/src/permission/knowledge/system-share.ts +++ b/ui/src/permission/knowledge/system-share.ts @@ -182,6 +182,7 @@ const share = { ], 'OR' ), + auth: () => false, folderCreate: () => false, folderEdit: () => false, folderDelete: () => false, diff --git a/ui/src/permission/knowledge/workspace-share.ts b/ui/src/permission/knowledge/workspace-share.ts index 8747d8a0064..a7dc28dcf31 100644 --- a/ui/src/permission/knowledge/workspace-share.ts +++ b/ui/src/permission/knowledge/workspace-share.ts @@ -10,6 +10,7 @@ const workspaceShare = { edit: () => false, export: () => false, delete: () => false, + auth: () => false, doc_read: () => false, doc_create: () => false, diff --git a/ui/src/permission/knowledge/workspace.ts b/ui/src/permission/knowledge/workspace.ts index b4e9d003053..5c42f897066 100644 --- a/ui/src/permission/knowledge/workspace.ts +++ b/ui/src/permission/knowledge/workspace.ts @@ -70,6 +70,16 @@ const workspace = { ], 'OR', ), + auth: (source_id:string) => + hasPermission( + [ + new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'), + RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, + PermissionConst.KNOWLEDGE_RESOURCE_AUTHORIZATION.getKnowledgeWorkspaceResourcePermission(source_id), + PermissionConst.KNOWLEDGE_RESOURCE_AUTHORIZATION.getWorkspacePermissionWorkspaceManageRole, + ], + 'OR', + ), folderEdit: () => hasPermission( [ diff --git a/ui/src/permission/model/system-manage.ts b/ui/src/permission/model/system-manage.ts index decfebc78f3..1043233069f 100644 --- a/ui/src/permission/model/system-manage.ts +++ b/ui/src/permission/model/system-manage.ts @@ -20,6 +20,7 @@ const systemManage = { delete: () => hasPermission([RoleConst.ADMIN, PermissionConst.RESOURCE_MODEL_DELETE], 'OR'), + auth: () => false, folderCreate: () => false, folderEdit: () => false, folderDelete: () => false, diff --git a/ui/src/permission/model/system-share.ts b/ui/src/permission/model/system-share.ts index 635d52f4273..0c025fe5329 100644 --- a/ui/src/permission/model/system-share.ts +++ b/ui/src/permission/model/system-share.ts @@ -35,6 +35,7 @@ const share = { ], 'OR', ), + auth: () => false, folderCreate: () => false, folderEdit: () => false, folderDelete: () => false, diff --git a/ui/src/permission/model/workspace.ts b/ui/src/permission/model/workspace.ts index 6992ed40053..08955867450 100644 --- a/ui/src/permission/model/workspace.ts +++ b/ui/src/permission/model/workspace.ts @@ -40,6 +40,16 @@ const workspace = { ], 'OR' ), + auth: (source_id:string) => + hasPermission( + [ + new ComplexPermission([RoleConst.USER],[PermissionConst.MODEL.getModelWorkspaceResourcePermission(source_id)],[],'AND'), + RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, + PermissionConst.MODEL_RESOURCE_AUTHORIZATION.getModelWorkspaceResourcePermission(source_id), + PermissionConst.MODEL_RESOURCE_AUTHORIZATION.getWorkspacePermissionWorkspaceManageRole + ], + 'OR' + ), folderEdit: () => hasPermission( [ diff --git a/ui/src/permission/tool/system-manage.ts b/ui/src/permission/tool/system-manage.ts index 7c36c1eb017..bbac81d66e3 100644 --- a/ui/src/permission/tool/system-manage.ts +++ b/ui/src/permission/tool/system-manage.ts @@ -57,6 +57,7 @@ const systemManage = { 'OR', ), + auth: () => false, folderCreate: () => false, folderEdit: () => false, folderDelete: () => false, diff --git a/ui/src/permission/tool/system-share.ts b/ui/src/permission/tool/system-share.ts index 95d3698ade5..b5b77b015f1 100644 --- a/ui/src/permission/tool/system-share.ts +++ b/ui/src/permission/tool/system-share.ts @@ -68,6 +68,7 @@ const share = { 'OR', ), + auth: () => false, folderCreate: () => false, folderEdit: () => false, folderDelete: () => false, diff --git a/ui/src/permission/tool/workspace.ts b/ui/src/permission/tool/workspace.ts index 666b7906eba..197539802c5 100644 --- a/ui/src/permission/tool/workspace.ts +++ b/ui/src/permission/tool/workspace.ts @@ -110,6 +110,16 @@ const workspace = { ], 'OR' ), + auth: (source_id:string) => + hasPermission( + [ + new ComplexPermission([RoleConst.USER],[PermissionConst.TOOL.getToolWorkspaceResourcePermission(source_id)],[],'AND'), + RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, + PermissionConst.TOOL_RESOURCE_AUTHORIZATION.getToolWorkspaceResourcePermission(source_id), + PermissionConst.TOOL_RESOURCE_AUTHORIZATION.getWorkspacePermissionWorkspaceManageRole + ], + 'OR' + ), debug: () => hasPermission( [ diff --git a/ui/src/utils/permission/data.ts b/ui/src/utils/permission/data.ts index 40ce97979e5..c43345fe6c7 100644 --- a/ui/src/utils/permission/data.ts +++ b/ui/src/utils/permission/data.ts @@ -296,6 +296,19 @@ const PermissionConst = { CHANGE_PASSWORD: new Permission('OTHER:READ+CREATE'), SYSTEM_API_KEY_EDIT: new Permission('OTHER:READ+DELETE'), + APPLICATION_RESOURCE_AUTHORIZATION: new Permission( + 'APPLICATION:READ+AUTH', + ), + KNOWLEDGE_RESOURCE_AUTHORIZATION: new Permission( + 'KNOWLEDGE:READ+AUTH', + ), + TOOL_RESOURCE_AUTHORIZATION: new Permission( + 'TOOL:READ+AUTH', + ), + MODEL_RESOURCE_AUTHORIZATION: new Permission( + 'MODEL:READ+AUTH', + ), + APPLICATION_WORKSPACE_USER_RESOURCE_PERMISSION_READ: new Permission( 'APPLICATION_WORKSPACE_USER_RESOURCE_PERMISSION:READ', ), diff --git a/ui/src/views/application/index.vue b/ui/src/views/application/index.vue index 0b0a81aa5e9..5eca3eb296c 100644 --- a/ui/src/views/application/index.vue +++ b/ui/src/views/application/index.vue @@ -3,13 +3,8 @@ {{ $t('views.application.title') }} - + @@ -19,44 +14,22 @@ - + - - + + - + @@ -73,16 +46,11 @@ - + {{ $t('views.application.simple') }} - {{ $t('views.application.simplePlaceholder') }} + {{ $t('views.application.simplePlaceholder') }} @@ -90,31 +58,18 @@ - + {{ $t('views.application.workflow') }} - {{ $t('views.application.workflowPlaceholder') }} + {{ $t('views.application.workflowPlaceholder') }} - + @@ -141,35 +96,16 @@ - - + + - - + + @@ -183,12 +119,7 @@ - + @@ -242,48 +173,33 @@ {{ $t('views.application.operation.toChat') }} - + {{ $t('common.setting') }} - - + + {{ $t('views.system.resourceAuthorization.title') }} - + {{ $t('common.moveTo') }} - + {{ $t('common.copy') }} - + {{ $t('common.export') }} - + {{ $t('common.delete') }} @@ -303,16 +219,9 @@ - - + + @@ -535,20 +444,20 @@ function toChat(row: any) { .map((v: any) => { apiInputParams.value = v.properties.api_input_field_list ? v.properties.api_input_field_list.map((v: any) => { - return { - name: v.variable, - value: v.default_value, - } - }) + return { + name: v.variable, + value: v.default_value, + } + }) : v.properties.input_field_list ? v.properties.input_field_list - .filter((v: any) => v.assignment_method === 'api_input') - .map((v: any) => { - return { - name: v.variable, - value: v.default_value, - } - }) + .filter((v: any) => v.assignment_method === 'api_input') + .map((v: any) => { + return { + name: v.variable, + value: v.default_value, + } + }) : [] }) const apiParams = mapToUrlParams(apiInputParams.value) @@ -606,7 +515,7 @@ function deleteApplication(row: any) { MsgSuccess(t('common.deleteSuccess')) }) }) - .catch(() => {}) + .catch(() => { }) } const exportApplication = (application: any) => { diff --git a/ui/src/views/knowledge/component/KnowledgeListContainer.vue b/ui/src/views/knowledge/component/KnowledgeListContainer.vue index c3d46185de3..0c414aaaa0f 100644 --- a/ui/src/views/knowledge/component/KnowledgeListContainer.vue +++ b/ui/src/views/knowledge/component/KnowledgeListContainer.vue @@ -260,7 +260,7 @@ > {{ $t('views.model.modelForm.title.paramSetting') }} - + {{ $t('views.system.resourceAuthorization.title') }} diff --git a/ui/src/views/tool/component/ToolListContainer.vue b/ui/src/views/tool/component/ToolListContainer.vue index d3eda4706e1..95350825892 100644 --- a/ui/src/views/tool/component/ToolListContainer.vue +++ b/ui/src/views/tool/component/ToolListContainer.vue @@ -252,7 +252,7 @@