|
13 | 13 |
|
14 | 14 | from application.serializers.application_chat_record import ChatRecordOperateSerializer |
15 | 15 | from chat.api.chat_api import HistoricalConversationAPI, PageHistoricalConversationAPI, \ |
16 | | - PageHistoricalConversationRecordAPI, HistoricalConversationRecordAPI |
| 16 | + PageHistoricalConversationRecordAPI, HistoricalConversationRecordAPI, HistoricalConversationOperateAPI |
17 | 17 | from chat.api.vote_api import VoteAPI |
18 | 18 | from chat.serializers.chat_record import VoteSerializer, HistoricalConversationSerializer, \ |
19 | | - HistoricalConversationRecordSerializer |
| 19 | + HistoricalConversationRecordSerializer, HistoricalConversationOperateSerializer |
20 | 20 | from common import result |
21 | 21 | from common.auth import TokenAuth |
22 | 22 |
|
@@ -60,6 +60,45 @@ def get(self, request: Request): |
60 | 60 | 'chat_user_id': request.auth.chat_user_id, |
61 | 61 | }).list()) |
62 | 62 |
|
| 63 | + class Operate(APIView): |
| 64 | + authentication_classes = [TokenAuth] |
| 65 | + |
| 66 | + @extend_schema( |
| 67 | + methods=['PUT'], |
| 68 | + description=_("Modify conversation about"), |
| 69 | + summary=_("Modify conversation about"), |
| 70 | + operation_id=_("Modify conversation about"), # type: ignore |
| 71 | + parameters=HistoricalConversationOperateAPI.get_parameters(), |
| 72 | + request=HistoricalConversationOperateAPI.get_request(), |
| 73 | + responses=HistoricalConversationOperateAPI.get_response(), |
| 74 | + tags=[_('Chat')] # type: ignore |
| 75 | + ) |
| 76 | + def put(self, request: Request, chat_id: str): |
| 77 | + return result.success(HistoricalConversationOperateSerializer( |
| 78 | + data={ |
| 79 | + 'application_id': request.auth.application_id, |
| 80 | + 'chat_user_id': request.auth.chat_user_id, |
| 81 | + 'chat_id': chat_id, |
| 82 | + }).edit_abstract(request.data) |
| 83 | + ) |
| 84 | + |
| 85 | + @extend_schema( |
| 86 | + methods=['DELETE'], |
| 87 | + description=_("Delete history conversation"), |
| 88 | + summary=_("Delete history conversation"), |
| 89 | + operation_id=_("Delete history conversation"), # type: ignore |
| 90 | + parameters=HistoricalConversationOperateAPI.get_parameters(), |
| 91 | + responses=HistoricalConversationOperateAPI.get_response(), |
| 92 | + tags=[_('Chat')] # type: ignore |
| 93 | + ) |
| 94 | + def delete(self, request: Request, chat_id: str): |
| 95 | + return result.success(HistoricalConversationOperateSerializer( |
| 96 | + data={ |
| 97 | + 'application_id': request.auth.application_id, |
| 98 | + 'chat_user_id': request.auth.chat_user_id, |
| 99 | + 'chat_id': chat_id, |
| 100 | + }).logic_delete()) |
| 101 | + |
63 | 102 | class PageView(APIView): |
64 | 103 | authentication_classes = [TokenAuth] |
65 | 104 |
|
|
0 commit comments