MaxKB/apps/knowledge/api/knowledge_version.py
shaohuzhang1 cbbdef0462
feat: Knowledge base workflow release, version management function (#4405)
* feat: Knowledge base workflow release, version management function

* feat: Knowledge base workflow release, version management function
2025-12-01 15:04:25 +08:00

97 lines
2.5 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# coding=utf-8
"""
@project: MaxKB
@Author虎虎
@file application_version.py
@date2025/6/4 17:33
@desc:
"""
from drf_spectacular.types import OpenApiTypes
from drf_spectacular.utils import OpenApiParameter
from common.mixins.api_mixin import APIMixin
from common.result import ResultSerializer, ResultPageSerializer
from knowledge.serializers.knowledge_version import KnowledgeVersionModelSerializer
class KnowledgeListVersionResult(ResultSerializer):
def get_data(self):
return KnowledgeVersionModelSerializer(many=True)
class KnowledgePageVersionResult(ResultPageSerializer):
def get_data(self):
return KnowledgeVersionModelSerializer(many=True)
class KnowledgeWorkflowVersionResult(ResultSerializer):
def get_data(self):
return KnowledgeVersionModelSerializer()
class KnowledgeVersionAPI(APIMixin):
@staticmethod
def get_parameters():
return [
OpenApiParameter(
name="workspace_id",
description="工作空间id",
type=OpenApiTypes.STR,
location='path',
required=True,
),
OpenApiParameter(
name="knowledge_id",
description="knowledge ID",
type=OpenApiTypes.STR,
location='path',
required=True,
)
]
class KnowledgeVersionOperateAPI(APIMixin):
@staticmethod
def get_parameters():
return [
OpenApiParameter(
name="knowledge_version_id",
description="工作流版本id",
type=OpenApiTypes.STR,
location='path',
required=True,
)
, *KnowledgeVersionAPI.get_parameters()
]
@staticmethod
def get_response():
return KnowledgeWorkflowVersionResult
class KnowledgeVersionListAPI(APIMixin):
@staticmethod
def get_parameters():
return [
OpenApiParameter(
name="name",
description="Version Name",
type=OpenApiTypes.STR,
required=False,
)
, *KnowledgeVersionOperateAPI.get_parameters()]
@staticmethod
def get_response():
return KnowledgeListVersionResult
class KnowledgeVersionPageAPI(APIMixin):
@staticmethod
def get_parameters():
return KnowledgeVersionListAPI.get_parameters()
@staticmethod
def get_response():
return KnowledgePageVersionResult