refac: share chat routes

This commit is contained in:
Timothy J. Baek 2024-04-02 07:04:29 -07:00
parent e4d101e550
commit 180dd3966b
2 changed files with 13 additions and 6 deletions

View file

@ -181,6 +181,13 @@ class ChatTable:
.order_by(Chat.timestamp.desc()) .order_by(Chat.timestamp.desc())
] ]
def get_chat_by_id(self, id: str) -> Optional[ChatModel]:
try:
chat = Chat.get(Chat.id == id)
return ChatModel(**model_to_dict(chat))
except:
return None
def get_chat_by_id_and_user_id(self, id: str, user_id: str) -> Optional[ChatModel]: def get_chat_by_id_and_user_id(self, id: str, user_id: str) -> Optional[ChatModel]:
try: try:
chat = Chat.get(Chat.id == id, Chat.user_id == user_id) chat = Chat.get(Chat.id == id, Chat.user_id == user_id)

View file

@ -226,9 +226,9 @@ async def share_chat_by_id(id: str, user=Depends(get_current_user)):
############################ ############################
@router.delete("/{id}/share", response_model=Optional[bool]) @router.delete("/{share_id}/share", response_model=Optional[bool])
async def delete_shared_chat_by_id(id: str, user=Depends(get_current_user)): async def delete_shared_chat_by_id(share_id: str, user=Depends(get_current_user)):
chat = Chats.get_chat_by_id_and_user_id(id, user.id) chat = Chats.get_chat_by_id_and_user_id(share_id, user.id)
if chat: if chat:
if not chat.share_id: if not chat.share_id:
return False return False
@ -248,9 +248,9 @@ async def delete_shared_chat_by_id(id: str, user=Depends(get_current_user)):
############################ ############################
@router.get("/share/{id}", response_model=Optional[ChatResponse]) @router.get("/share/{share_id}", response_model=Optional[ChatResponse])
async def get_shared_chat_by_id(id: str, user=Depends(get_current_user)): async def get_shared_chat_by_id(share_id: str, user=Depends(get_current_user)):
chat = Chats.get_chat_by_id_and_user_id(id, "shared") chat = Chats.get_chat_by_id(share_id)
if chat: if chat:
return ChatResponse(**{**chat.model_dump(), "chat": json.loads(chat.chat)}) return ChatResponse(**{**chat.model_dump(), "chat": json.loads(chat.chat)})