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) |