mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-26 10:12:51 +00:00
* feat: Knowledge base workflow release, version management function * feat: Knowledge base workflow release, version management function
97 lines
2.5 KiB
Python
97 lines
2.5 KiB
Python
# coding=utf-8
|
||
"""
|
||
@project: MaxKB
|
||
@Author:虎虎
|
||
@file: application_version.py
|
||
@date:2025/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
|