From ec7697fcfe98b595b56359f471d82702f53d015c Mon Sep 17 00:00:00 2001 From: Weves Date: Wed, 4 Oct 2023 16:55:14 -0700 Subject: [PATCH] Add session description to get-user-chat-sessions endpoint --- backend/danswer/server/chat_backend.py | 16 +++++++++++++--- backend/danswer/server/models.py | 10 ++++++++-- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/backend/danswer/server/chat_backend.py b/backend/danswer/server/chat_backend.py index b7cf2ef2e666..5a57ba240577 100644 --- a/backend/danswer/server/chat_backend.py +++ b/backend/danswer/server/chat_backend.py @@ -29,8 +29,9 @@ from danswer.secondary_llm_flows.chat_helpers import get_new_chat_name from danswer.server.models import ChatMessageDetail from danswer.server.models import ChatMessageIdentifier from danswer.server.models import ChatRenameRequest +from danswer.server.models import ChatSession from danswer.server.models import ChatSessionDetailResponse -from danswer.server.models import ChatSessionIdsResponse +from danswer.server.models import ChatSessionsResponse from danswer.server.models import CreateChatMessageRequest from danswer.server.models import CreateChatSessionID from danswer.server.models import RegenerateMessageRequest @@ -49,7 +50,7 @@ router = APIRouter(prefix="/chat") def get_user_chat_sessions( user: User | None = Depends(current_user), db_session: Session = Depends(get_session), -) -> ChatSessionIdsResponse: +) -> ChatSessionsResponse: user_id = user.id if user is not None else None # Don't included deleted chats, even if soft delete only @@ -57,7 +58,16 @@ def get_user_chat_sessions( user_id=user_id, deleted=False, db_session=db_session ) - return ChatSessionIdsResponse(sessions=[chat.id for chat in chat_sessions]) + return ChatSessionsResponse( + sessions=[ + ChatSession( + id=chat.id, + name=chat.description, + time_created=chat.time_created.isoformat(), + ) + for chat in chat_sessions + ] + ) @router.get("/get-chat-session/{session_id}") diff --git a/backend/danswer/server/models.py b/backend/danswer/server/models.py index 5a01d1eca85a..9cb6179f4b77 100644 --- a/backend/danswer/server/models.py +++ b/backend/danswer/server/models.py @@ -202,8 +202,14 @@ class RenameChatSessionResponse(BaseModel): new_name: str # This is only really useful if the name is generated -class ChatSessionIdsResponse(BaseModel): - sessions: list[int] +class ChatSession(BaseModel): + id: int + name: str + time_created: str + + +class ChatSessionsResponse(BaseModel): + sessions: list[ChatSession] class ChatMessageDetail(BaseModel):