Skip to content

Commit 7cc33d9

Browse files
committed
fix: Support shared knowledge workflow
1 parent c0eb0db commit 7cc33d9

File tree

4 files changed

+43
-5
lines changed

4 files changed

+43
-5
lines changed

apps/common/constants/permission_constants.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1308,6 +1308,10 @@ class PermissionConstants(Enum):
13081308
group=Group.SYSTEM_KNOWLEDGE_WORKFLOW, operate=Operate.EDIT, role_list=[RoleConstants.ADMIN],
13091309
parent_group=[SystemGroup.SHARED_KNOWLEDGE], is_ee=settings.edition == "EE"
13101310
)
1311+
SHARED_KNOWLEDGE_WORKFLOW_EXPORT = Permission(
1312+
group=Group.SYSTEM_KNOWLEDGE_WORKFLOW, operate=Operate.EXPORT, role_list=[RoleConstants.ADMIN],
1313+
parent_group=[SystemGroup.SHARED_KNOWLEDGE], is_ee=settings.edition == "EE"
1314+
)
13111315
SHARED_KNOWLEDGE_DOCUMENT_READ = Permission(
13121316
group=Group.SYSTEM_KNOWLEDGE_DOCUMENT, operate=Operate.READ, role_list=[RoleConstants.ADMIN],
13131317
parent_group=[SystemGroup.SHARED_KNOWLEDGE], is_ee=settings.edition == "EE"

apps/knowledge/serializers/knowledge_workflow.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ def save_workflow(self, instance: Dict):
283283

284284
class Import(serializers.Serializer):
285285
user_id = serializers.UUIDField(required=True, label=_('user id'))
286-
workspace_id = serializers.CharField(required=True, label=_('workspace id'))
286+
workspace_id = serializers.CharField(required=False, label=_('workspace id'))
287287
knowledge_id = serializers.UUIDField(required=True, label=_('knowledge id'))
288288

289289
@transaction.atomic
@@ -364,13 +364,13 @@ def to_tool(tool, workspace_id, user_id):
364364
input_field_list=tool.get('input_field_list'),
365365
init_field_list=tool.get('init_field_list'),
366366
is_active=False if len((tool.get('init_field_list') or [])) > 0 else tool.get('is_active'),
367-
scope=ToolScope.WORKSPACE,
368-
folder_id=workspace_id,
367+
scope=ToolScope.SHARED if workspace_id == 'None' else ToolScope.WORKSPACE,
368+
folder_id='default' if workspace_id == 'None' else workspace_id,
369369
workspace_id=workspace_id)
370370

371371
class Export(serializers.Serializer):
372372
user_id = serializers.UUIDField(required=True, label=_('user id'))
373-
workspace_id = serializers.CharField(required=True, label=_('workspace id'))
373+
workspace_id = serializers.CharField(required=False, label=_('workspace id'))
374374
knowledge_id = serializers.UUIDField(required=True, label=_('knowledge id'))
375375

376376
def export(self, with_valid=True):

ui/src/api/system-shared/knowledge.ts

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -388,6 +388,39 @@ const putKnowledgeWorkflow: (
388388
return put(`${prefix}/${knowledge_id}/workflow`, data, undefined, loading)
389389
}
390390

391+
/** * 导出知识库工作流
392+
* @param knowledge_id
393+
* @param knowledge_name
394+
* @param loading
395+
* @returns
396+
*/
397+
const exportKnowledgeWorkflow = (
398+
knowledge_id: string,
399+
knowledge_name: string,
400+
loading?: Ref<boolean>,
401+
) => {
402+
return exportFile(
403+
knowledge_name + '.kbwf',
404+
`${prefix}/${knowledge_id}/workflow/export`,
405+
undefined,
406+
loading,
407+
)
408+
}
409+
410+
/** * 导入知识库工作流
411+
* @param knowledge_id
412+
* @param data
413+
* @param loading
414+
* @returns
415+
*/
416+
const importKnowledgeWorkflow: (
417+
knowledge_id: string,
418+
data: any,
419+
loading?: Ref<boolean>,
420+
) => Promise<Result<any>> = (knowledge_id, data, loading) => {
421+
return post(`${prefix}/${knowledge_id}/workflow/import`, data, undefined, loading)
422+
}
423+
391424
const workflowUpload: (
392425
knowledge_id: string,
393426
instance: Dict<any>,
@@ -443,6 +476,8 @@ export default {
443476
listKnowledgeVersion,
444477
workflowUpload,
445478
getWorkflowActionPage,
479+
exportKnowledgeWorkflow,
480+
importKnowledgeWorkflow,
446481
} as {
447482
[key: string]: any
448483
}

ui/src/views/knowledge-workflow/index.vue

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -411,7 +411,6 @@ const importKnowledgeWorkflow = (file: any) => {
411411
formData.append('file', file.raw)
412412
const name = file.name.replace('.kbwf', '')
413413
elUploadRef.value.clearFiles()
414-
debugger
415414
MsgConfirm(
416415
t('common.tip'),
417416
`${t('views.application.tip.confirmUse')} ${name} ${t('views.application.tip.overwrite')}?`,

0 commit comments

Comments
 (0)