Browse Source

refac: share chat routes

Timothy J. Baek 1 year ago
parent
commit
96d75dfc1b
2 changed files with 13 additions and 6 deletions
  1. 7 0
      backend/apps/web/models/chats.py
  2. 6 6
      backend/apps/web/routers/chats.py

+ 7 - 0
backend/apps/web/models/chats.py

@@ -181,6 +181,13 @@ class ChatTable:
             .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]:
         try:
             chat = Chat.get(Chat.id == id, Chat.user_id == user_id)

+ 6 - 6
backend/apps/web/routers/chats.py

@@ -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])
-async def delete_shared_chat_by_id(id: str, user=Depends(get_current_user)):
-    chat = Chats.get_chat_by_id_and_user_id(id, user.id)
+@router.delete("/{share_id}/share", response_model=Optional[bool])
+async def delete_shared_chat_by_id(share_id: str, user=Depends(get_current_user)):
+    chat = Chats.get_chat_by_id_and_user_id(share_id, user.id)
     if chat:
         if not chat.share_id:
             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])
-async def get_shared_chat_by_id(id: str, user=Depends(get_current_user)):
-    chat = Chats.get_chat_by_id_and_user_id(id, "shared")
+@router.get("/share/{share_id}", response_model=Optional[ChatResponse])
+async def get_shared_chat_by_id(share_id: str, user=Depends(get_current_user)):
+    chat = Chats.get_chat_by_id(share_id)
 
     if chat:
         return ChatResponse(**{**chat.model_dump(), "chat": json.loads(chat.chat)})