Skip to content

Commit 35b6fe1

Browse files
committed
feat: add knowledge version management endpoints and publish functionality
1 parent 16f4d2a commit 35b6fe1

File tree

4 files changed

+38
-5
lines changed

4 files changed

+38
-5
lines changed

apps/knowledge/serializers/knowledge_workflow.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
# coding=utf-8
22
import asyncio
3-
import datetime
43
import json
54
from typing import Dict
65

@@ -10,7 +9,6 @@
109
from django.utils import timezone
1110
from django.utils.translation import gettext_lazy as _
1211
from rest_framework import serializers
13-
from rest_framework.views import APIView
1412

1513
from application.flow.common import Workflow, WorkflowMode
1614
from application.flow.i_step_node import KnowledgeWorkflowPostHandler
@@ -187,8 +185,9 @@ def publish(self, with_valid=True):
187185
publish_user_name=user.username,
188186
workspace_id=workspace_id)
189187
work_flow_version.save()
190-
QuerySet(KnowledgeWorkflow).filter(knowledge_id=self.data.get("knowledge_id")).update(is_publish=True,
191-
publish_time=datetime.datetime.now())
188+
QuerySet(KnowledgeWorkflow).filter(
189+
knowledge_id=self.data.get("knowledge_id")
190+
).update(is_publish=True, publish_time=timezone.now())
192191
return True
193192

194193
def edit(self, instance: Dict):

ui/src/api/system-resource-management/knowledge.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,20 @@ const getWorkflowAction: (
303303
return get(`${prefix}/${knowledge_id}/action/${knowledge_action_id}`, {}, loading)
304304
}
305305

306+
const publish: (knowledge_id: string, loading?: Ref<boolean>) => Promise<Result<any>> = (
307+
knowledge_id: string,
308+
loading,
309+
) => {
310+
return put(`${prefix}/${knowledge_id}/publish`, {}, {}, loading)
311+
}
312+
313+
const listKnowledgeVersion: (
314+
knowledge_id: string,
315+
loading?: Ref<boolean>,
316+
) => Promise<Result<any>> = (knowledge_id: string, loading) => {
317+
return get(`${prefix}/${knowledge_id}/knowledge_version`, {}, loading)
318+
}
319+
306320
export default {
307321
getKnowledgeList,
308322
getKnowledgeListPage,
@@ -327,6 +341,8 @@ export default {
327341
getKnowledgeWorkflowDatasourceDetails,
328342
workflowAction,
329343
getWorkflowAction,
344+
publish,
345+
listKnowledgeVersion
330346
} as {
331347
[key: string]: any
332348
}

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

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -361,6 +361,20 @@ const getWorkflowAction: (
361361
return get(`${prefix}/${knowledge_id}/action/${knowledge_action_id}`, {}, loading)
362362
}
363363

364+
const publish: (knowledge_id: string, loading?: Ref<boolean>) => Promise<Result<any>> = (
365+
knowledge_id: string,
366+
loading,
367+
) => {
368+
return put(`${prefix}/${knowledge_id}/publish`, {}, {}, loading)
369+
}
370+
371+
const listKnowledgeVersion: (
372+
knowledge_id: string,
373+
loading?: Ref<boolean>,
374+
) => Promise<Result<any>> = (knowledge_id: string, loading) => {
375+
return get(`${prefix}/${knowledge_id}/knowledge_version`, {}, loading)
376+
}
377+
364378
export default {
365379
getKnowledgeList,
366380
getKnowledgeListPage,
@@ -389,6 +403,8 @@ export default {
389403
getKnowledgeWorkflowFormList,
390404
getKnowledgeWorkflowDatasourceDetails,
391405
workflowAction,
406+
publish,
407+
listKnowledgeVersion,
392408
} as {
393409
[key: string]: any
394410
}

ui/src/views/knowledge-workflow/component/PublishHistory.vue

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,9 @@ const {
8080
params: { id },
8181
} = route as any
8282
const apiType = computed(() => {
83-
if (route.path.includes('resource-management')) {
83+
if (route.path.includes('shared')) {
84+
return 'systemShare'
85+
} else if (route.path.includes('resource-management')) {
8486
return 'systemManage'
8587
} else {
8688
return 'workspace'

0 commit comments

Comments
 (0)