forked from open-webui/open-webui
		
	refac: share chat routes
This commit is contained in:
		
							parent
							
								
									49428eb7ef
								
							
						
					
					
						commit
						96d75dfc1b
					
				
					 2 changed files with 13 additions and 6 deletions
				
			
		|  | @ -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) | ||||||
|  |  | ||||||
|  | @ -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)}) | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Timothy J. Baek
						Timothy J. Baek