Spaces:
Sleeping
Sleeping
| from fastapi import Query, APIRouter | |
| from service import MySQLService | |
| from request import RequestMySQL | |
| from response import ResponseMySQL as res | |
| from typing import Optional | |
| from request import RequestMySQL as req | |
| from function import support_function | |
| from fastapi import HTTPException | |
| router = APIRouter() | |
| async def render_chat(user_id: str): | |
| check = support_function.check_value_user_id_controller(user_id) | |
| if check is not True: | |
| return check | |
| request = RequestMySQL.RequestRenderChatHistory(user_id=user_id) | |
| return await MySQLService.render_chat_history(request) | |
| async def render_chat_1(detail_chat_id: str): | |
| if detail_chat_id is None or detail_chat_id.strip() == "": | |
| return res.ReponseError(status=400, | |
| data=res.Message(message="Id field is required.")) | |
| detail_chat_id = detail_chat_id.strip("'").strip('"') | |
| try: | |
| detail_chat_id_int = int(detail_chat_id) | |
| except ValueError: | |
| return res.ReponseError(status=400, | |
| data=res.Message(message="Value must be an integer")) | |
| if not support_function.is_positive_integer(detail_chat_id_int): | |
| return res.ReponseError(status=400, | |
| data=res.Message(message="Value must be greater than 0")) | |
| request = req.RequestGetChatDetails(id=detail_chat_id) | |
| return await MySQLService.get_detail_chat_by_chat_id(request) | |
| async def load_chat(chat_id: str, user_id: str): | |
| check = support_function.check_value_user_id_controller(user_id) | |
| if check is not True: | |
| return check | |
| if chat_id is None or chat_id.strip() == "": | |
| return res.ReponseError(status=400, | |
| data=res.Message(message="Chat id field is required.")) | |
| chat_id = chat_id.strip("'").strip('"') | |
| try: | |
| chat_id_int = int(chat_id) | |
| except ValueError: | |
| return res.ReponseError(status=400, | |
| data=res.Message(message="Value must be an integer")) | |
| if not support_function.is_positive_integer(chat_id_int): | |
| return res.ReponseError(status=400, | |
| data=res.Message(message="Value must be greater than 0")) | |
| request = req.RequestLoadChatHistory(chat_id=chat_id,user_id = user_id) | |
| return await MySQLService.load_chat_history(request) | |
| async def edit_chat(request: RequestMySQL.RequestEditNameChat): | |
| user_id = request.user_id | |
| check = support_function.check_value_user_id_controller(user_id) | |
| if check is not True: | |
| return check | |
| return await MySQLService.edit_chat(request) | |
| async def delete_chat(request: RequestMySQL.RequestDeleteChat): | |
| user_id = request.user_id | |
| check = support_function.check_value_user_id_controller(user_id) | |
| if check is not True: | |
| return check | |
| return await MySQLService.delete_chat(request) | |
| async def delete_chat_detail(request: RequestMySQL.RequestDeleteDetailChat): | |
| user_id = request.user_id | |
| check = support_function.check_value_user_id_controller(user_id) | |
| if check is not True: | |
| return check | |
| return await MySQLService.delete_chat_detail_by_id(request) | |
| async def create_chat_history(request: RequestMySQL.RequestCreateChatHistory): | |
| user_id = request.user_id | |
| check = support_function.check_value_user_id_controller(user_id) | |
| if check is not True: | |
| return check | |
| return await MySQLService.create_chat_history(request) | |
| async def delete_last_chat_record(request: RequestMySQL.RequestStopChat): | |
| user_id = request.user_id | |
| check = support_function.check_value_user_id_controller(user_id) | |
| if check is not True: | |
| return check | |
| return await MySQLService.delete_last_chat_detail_by_chat_name(request) |