MaxKB/apps/chat/api/chat_api.py
2025-07-03 17:40:28 +08:00

125 lines
3.0 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 chat_api.py
@date2025/6/9 15:23
@desc:
"""
from drf_spectacular.types import OpenApiTypes
from drf_spectacular.utils import OpenApiParameter
from application.serializers.application_chat_record import ChatRecordSerializerModel
from chat.serializers.chat import ChatMessageSerializers
from chat.serializers.chat_record import HistoryChatModel, EditAbstractSerializer
from common.mixins.api_mixin import APIMixin
from common.result import ResultSerializer, ResultPageSerializer, DefaultResultSerializer
class ChatAPI(APIMixin):
@staticmethod
def get_parameters():
return [OpenApiParameter(
name="chat_id",
description="对话id",
type=OpenApiTypes.STR,
location='path',
required=True,
)]
@staticmethod
def get_request():
return ChatMessageSerializers
class ApplicationCreateResponse(ResultSerializer):
def get_data(self):
return HistoryChatModel(many=True)
class PageApplicationCreateResponse(ResultPageSerializer):
def get_data(self):
return HistoryChatModel(many=True)
class ApplicationRecordResponse(ResultSerializer):
def get_data(self):
return ChatRecordSerializerModel(many=True)
class PageApplicationRecordResponse(ResultPageSerializer):
def get_data(self):
return ChatRecordSerializerModel(many=True)
class HistoricalConversationAPI(APIMixin):
@staticmethod
def get_parameters():
return []
@staticmethod
def get_response():
return ApplicationCreateResponse
class PageHistoricalConversationAPI(APIMixin):
@staticmethod
def get_parameters():
return []
@staticmethod
def get_response():
return PageApplicationCreateResponse
class HistoricalConversationOperateAPI(APIMixin):
@staticmethod
def get_parameters():
return [OpenApiParameter(
name="chat_id",
description="对话id",
type=OpenApiTypes.STR,
location='path',
required=True
)]
@staticmethod
def get_request():
return EditAbstractSerializer
@staticmethod
def get_response():
return DefaultResultSerializer
class HistoricalConversationRecordAPI(APIMixin):
@staticmethod
def get_parameters():
return [OpenApiParameter(
name="chat_id",
description="对话id",
type=OpenApiTypes.STR,
location='path',
required=True,
)]
@staticmethod
def get_response():
return ApplicationRecordResponse
class PageHistoricalConversationRecordAPI(APIMixin):
@staticmethod
def get_parameters():
return [OpenApiParameter(
name="chat_id",
description="对话id",
type=OpenApiTypes.STR,
location='path',
required=True,
)]
@staticmethod
def get_response():
return PageApplicationRecordResponse