From 159997c529e4cefd867f36f6842feb2f1f79f493 Mon Sep 17 00:00:00 2001 From: zhangzhanwei Date: Mon, 29 Dec 2025 16:01:59 +0800 Subject: [PATCH] feat: Support resource knowledge workflow export and import --- apps/common/constants/permission_constants.py | 4 ++ .../system-resource-management/knowledge.ts | 37 +++++++++++++++++++ 2 files changed, 41 insertions(+) diff --git a/apps/common/constants/permission_constants.py b/apps/common/constants/permission_constants.py index 6f3bbbf11..8bd29564a 100644 --- a/apps/common/constants/permission_constants.py +++ b/apps/common/constants/permission_constants.py @@ -1548,6 +1548,10 @@ class PermissionConstants(Enum): group=Group.SYSTEM_RES_KNOWLEDGE_WORKFLOW, operate=Operate.EDIT, role_list=[RoleConstants.ADMIN], parent_group=[SystemGroup.RESOURCE_KNOWLEDGE], is_ee=settings.edition == "EE" ) + RESOURCE_KNOWLEDGE_WORKFLOW_EXPORT = Permission( + group=Group.SYSTEM_RES_KNOWLEDGE_WORKFLOW, operate=Operate.EXPORT, role_list=[RoleConstants.ADMIN], + parent_group=[SystemGroup.RESOURCE_KNOWLEDGE], is_ee=settings.edition == "EE" + ) RESOURCE_KNOWLEDGE_DOCUMENT_READ = Permission( group=Group.SYSTEM_RES_KNOWLEDGE_DOCUMENT, operate=Operate.READ, role_list=[RoleConstants.ADMIN], parent_group=[SystemGroup.RESOURCE_KNOWLEDGE], is_ee=settings.edition == "EE" diff --git a/ui/src/api/system-resource-management/knowledge.ts b/ui/src/api/system-resource-management/knowledge.ts index ae057b30b..122516bc5 100644 --- a/ui/src/api/system-resource-management/knowledge.ts +++ b/ui/src/api/system-resource-management/knowledge.ts @@ -330,6 +330,41 @@ const putKnowledgeWorkflow: ( return put(`${prefix}/${knowledge_id}/workflow`, data, undefined, loading) } +/** + * 导出知识库工作流 + * @param knowledge_id + * @param knowledge_name + * @param loading + * @returns + */ +const exportKnowledgeWorkflow = ( + knowledge_id: string, + knowledge_name: string, + loading?: Ref +) => { + return exportFile( + knowledge_name + '.kbwf', + `${prefix}/${knowledge_id}/workflow/export`, + undefined, + loading, + ) +} + +/** + * 导入知识库工作流 + * @param knowledge_id + * @param data + * @param loading + * @returns + */ +const importKnowledgeWorkflow: ( + knowledge_id: string, + data: any, + loading?: Ref, +) => Promise> = (knowledge_id, data, loading) => { + return post(`${prefix}/${knowledge_id}/workflow/import`, data, undefined, loading) +} + const workflowUpload: ( knowledge_id: string, instance: Dict, @@ -382,6 +417,8 @@ export default { listKnowledgeVersion, workflowUpload, getWorkflowActionPage, + exportKnowledgeWorkflow, + importKnowledgeWorkflow } as { [key: string]: any }