mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-26 10:12:51 +00:00
209 lines
5.6 KiB
Python
209 lines
5.6 KiB
Python
from drf_spectacular.types import OpenApiTypes
|
|
from drf_spectacular.utils import OpenApiParameter
|
|
|
|
from common.mixins.api_mixin import APIMixin
|
|
from common.result import ResultSerializer
|
|
from knowledge.serializers.knowledge import KnowledgeBaseCreateRequest, KnowledgeModelSerializer, KnowledgeEditRequest, \
|
|
KnowledgeWebCreateRequest
|
|
|
|
|
|
class KnowledgeCreateResponse(ResultSerializer):
|
|
def get_data(self):
|
|
return KnowledgeModelSerializer()
|
|
|
|
|
|
class KnowledgeReadAPI(APIMixin):
|
|
@staticmethod
|
|
def get_parameters():
|
|
return [
|
|
OpenApiParameter(
|
|
name="workspace_id",
|
|
description="工作空间id",
|
|
type=OpenApiTypes.STR,
|
|
location='path',
|
|
required=True,
|
|
),
|
|
OpenApiParameter(
|
|
name="knowledge_id",
|
|
description="知识库id",
|
|
type=OpenApiTypes.STR,
|
|
location='path',
|
|
required=True,
|
|
)
|
|
]
|
|
|
|
@staticmethod
|
|
def get_response():
|
|
return KnowledgeCreateResponse
|
|
|
|
|
|
class KnowledgeBaseCreateAPI(APIMixin):
|
|
@staticmethod
|
|
def get_parameters():
|
|
return [
|
|
OpenApiParameter(
|
|
name="workspace_id",
|
|
description="工作空间id",
|
|
type=OpenApiTypes.STR,
|
|
location='path',
|
|
required=True,
|
|
)
|
|
]
|
|
|
|
@staticmethod
|
|
def get_request():
|
|
return KnowledgeBaseCreateRequest
|
|
|
|
@staticmethod
|
|
def get_response():
|
|
return KnowledgeCreateResponse
|
|
|
|
|
|
class KnowledgeWebCreateAPI(APIMixin):
|
|
@staticmethod
|
|
def get_parameters():
|
|
return [
|
|
OpenApiParameter(
|
|
name="workspace_id",
|
|
description="工作空间id",
|
|
type=OpenApiTypes.STR,
|
|
location='path',
|
|
required=True,
|
|
)
|
|
]
|
|
|
|
@staticmethod
|
|
def get_request():
|
|
return KnowledgeWebCreateRequest
|
|
|
|
@staticmethod
|
|
def get_response():
|
|
return KnowledgeCreateResponse
|
|
|
|
|
|
class KnowledgeEditAPI(APIMixin):
|
|
@staticmethod
|
|
def get_parameters():
|
|
return [
|
|
OpenApiParameter(
|
|
name="workspace_id",
|
|
description="工作空间id",
|
|
type=OpenApiTypes.STR,
|
|
location='path',
|
|
required=True,
|
|
),
|
|
OpenApiParameter(
|
|
name="knowledge_id",
|
|
description="知识库id",
|
|
type=OpenApiTypes.STR,
|
|
location='path',
|
|
required=True,
|
|
)
|
|
]
|
|
|
|
@staticmethod
|
|
def get_request():
|
|
return KnowledgeEditRequest
|
|
|
|
@staticmethod
|
|
def get_response():
|
|
return KnowledgeCreateResponse
|
|
|
|
|
|
class KnowledgeTreeReadAPI(KnowledgeReadAPI):
|
|
@staticmethod
|
|
def get_parameters():
|
|
return [
|
|
OpenApiParameter(
|
|
name="workspace_id",
|
|
description="工作空间id",
|
|
type=OpenApiTypes.STR,
|
|
location='path',
|
|
required=True,
|
|
),
|
|
OpenApiParameter(
|
|
name="folder_id",
|
|
description="文件夹id",
|
|
type=OpenApiTypes.STR,
|
|
location='query',
|
|
required=True,
|
|
),
|
|
OpenApiParameter(
|
|
name="user_id",
|
|
description="用户id",
|
|
type=OpenApiTypes.STR,
|
|
location='query',
|
|
required=False,
|
|
),
|
|
OpenApiParameter(
|
|
name="name",
|
|
description="名称",
|
|
type=OpenApiTypes.STR,
|
|
location='query',
|
|
required=False,
|
|
),
|
|
OpenApiParameter(
|
|
name="desc",
|
|
description="描述",
|
|
type=OpenApiTypes.STR,
|
|
location='query',
|
|
required=False,
|
|
),
|
|
]
|
|
|
|
|
|
class KnowledgePageAPI(KnowledgeReadAPI):
|
|
@staticmethod
|
|
def get_parameters():
|
|
return [
|
|
OpenApiParameter(
|
|
name="workspace_id",
|
|
description="工作空间id",
|
|
type=OpenApiTypes.STR,
|
|
location='path',
|
|
required=True,
|
|
),
|
|
OpenApiParameter(
|
|
name="current_page",
|
|
description="当前页码",
|
|
type=OpenApiTypes.INT,
|
|
location='path',
|
|
required=True,
|
|
),
|
|
OpenApiParameter(
|
|
name="page_size",
|
|
description="每页条数",
|
|
type=OpenApiTypes.INT,
|
|
location='path',
|
|
required=True,
|
|
),
|
|
OpenApiParameter(
|
|
name="folder_id",
|
|
description="文件夹id",
|
|
type=OpenApiTypes.STR,
|
|
location='query',
|
|
required=True,
|
|
),
|
|
OpenApiParameter(
|
|
name="user_id",
|
|
description="用户id",
|
|
type=OpenApiTypes.STR,
|
|
location='query',
|
|
required=False,
|
|
),
|
|
OpenApiParameter(
|
|
name="name",
|
|
description="名称",
|
|
type=OpenApiTypes.STR,
|
|
location='query',
|
|
required=False,
|
|
),
|
|
OpenApiParameter(
|
|
name="desc",
|
|
description="描述",
|
|
type=OpenApiTypes.STR,
|
|
location='query',
|
|
required=False,
|
|
),
|
|
]
|