feat: add knowledge version management endpoints and publish functionality

This commit is contained in:
CaptainB 2025-12-02 12:30:50 +08:00
parent 16f4d2a721
commit 35b6fe13a1
4 changed files with 38 additions and 5 deletions

View File

@ -1,6 +1,5 @@
# coding=utf-8
import asyncio
import datetime
import json
from typing import Dict
@ -10,7 +9,6 @@ from django.db.models import QuerySet
from django.utils import timezone
from django.utils.translation import gettext_lazy as _
from rest_framework import serializers
from rest_framework.views import APIView
from application.flow.common import Workflow, WorkflowMode
from application.flow.i_step_node import KnowledgeWorkflowPostHandler
@ -187,8 +185,9 @@ class KnowledgeWorkflowSerializer(serializers.Serializer):
publish_user_name=user.username,
workspace_id=workspace_id)
work_flow_version.save()
QuerySet(KnowledgeWorkflow).filter(knowledge_id=self.data.get("knowledge_id")).update(is_publish=True,
publish_time=datetime.datetime.now())
QuerySet(KnowledgeWorkflow).filter(
knowledge_id=self.data.get("knowledge_id")
).update(is_publish=True, publish_time=timezone.now())
return True
def edit(self, instance: Dict):

View File

@ -303,6 +303,20 @@ const getWorkflowAction: (
return get(`${prefix}/${knowledge_id}/action/${knowledge_action_id}`, {}, loading)
}
const publish: (knowledge_id: string, loading?: Ref<boolean>) => Promise<Result<any>> = (
knowledge_id: string,
loading,
) => {
return put(`${prefix}/${knowledge_id}/publish`, {}, {}, loading)
}
const listKnowledgeVersion: (
knowledge_id: string,
loading?: Ref<boolean>,
) => Promise<Result<any>> = (knowledge_id: string, loading) => {
return get(`${prefix}/${knowledge_id}/knowledge_version`, {}, loading)
}
export default {
getKnowledgeList,
getKnowledgeListPage,
@ -327,6 +341,8 @@ export default {
getKnowledgeWorkflowDatasourceDetails,
workflowAction,
getWorkflowAction,
publish,
listKnowledgeVersion
} as {
[key: string]: any
}

View File

@ -361,6 +361,20 @@ const getWorkflowAction: (
return get(`${prefix}/${knowledge_id}/action/${knowledge_action_id}`, {}, loading)
}
const publish: (knowledge_id: string, loading?: Ref<boolean>) => Promise<Result<any>> = (
knowledge_id: string,
loading,
) => {
return put(`${prefix}/${knowledge_id}/publish`, {}, {}, loading)
}
const listKnowledgeVersion: (
knowledge_id: string,
loading?: Ref<boolean>,
) => Promise<Result<any>> = (knowledge_id: string, loading) => {
return get(`${prefix}/${knowledge_id}/knowledge_version`, {}, loading)
}
export default {
getKnowledgeList,
getKnowledgeListPage,
@ -389,6 +403,8 @@ export default {
getKnowledgeWorkflowFormList,
getKnowledgeWorkflowDatasourceDetails,
workflowAction,
publish,
listKnowledgeVersion,
} as {
[key: string]: any
}

View File

@ -80,7 +80,9 @@ const {
params: { id },
} = route as any
const apiType = computed(() => {
if (route.path.includes('resource-management')) {
if (route.path.includes('shared')) {
return 'systemShare'
} else if (route.path.includes('resource-management')) {
return 'systemManage'
} else {
return 'workspace'