Session id: int -> UUID (#2814)

* session id: int -> UUID

* nit

* validated

* validated downgrade + upgrade + all functionality

* nit

* minor nit

* fix test case
This commit is contained in:
pablodanswer
2024-10-16 15:18:45 -07:00
committed by GitHub
parent f3fb7c572e
commit db0779dd02
29 changed files with 276 additions and 106 deletions

View File

@@ -42,7 +42,7 @@ def get_empty_chat_messages_entries__paginated(
message_skeletons.append(
ChatMessageSkeleton(
message_id=chat_session.id,
message_id=message.id,
chat_session_id=chat_session.id,
user_id=str(chat_session.user_id) if chat_session.user_id else None,
flow_type=flow_type,

View File

@@ -1,3 +1,5 @@
from uuid import UUID
from pydantic import BaseModel
from pydantic import Field
@@ -36,7 +38,7 @@ class BasicCreateChatMessageRequest(ChunkContext):
Note, for simplicity this option only allows for a single linear chain of messages
"""
chat_session_id: int
chat_session_id: UUID
# New message contents
message: str
# Defaults to using retrieval with no additional filters

View File

@@ -4,6 +4,7 @@ from datetime import datetime
from datetime import timedelta
from datetime import timezone
from typing import Literal
from uuid import UUID
from fastapi import APIRouter
from fastapi import Depends
@@ -83,7 +84,7 @@ class MessageSnapshot(BaseModel):
class ChatSessionMinimal(BaseModel):
id: int
id: UUID
user_email: str
name: str | None
first_user_message: str
@@ -95,7 +96,7 @@ class ChatSessionMinimal(BaseModel):
class ChatSessionSnapshot(BaseModel):
id: int
id: UUID
user_email: str
name: str | None
messages: list[MessageSnapshot]
@@ -105,7 +106,7 @@ class ChatSessionSnapshot(BaseModel):
class QuestionAnswerPairSnapshot(BaseModel):
chat_session_id: int
chat_session_id: UUID
# 1-indexed message number in the chat_session
# e.g. the first message pair in the chat_session is 1, the second is 2, etc.
message_pair_num: int
@@ -350,7 +351,7 @@ def get_chat_session_history(
@router.get("/admin/chat-session-history/{chat_session_id}")
def get_chat_session_admin(
chat_session_id: int,
chat_session_id: UUID,
_: User | None = Depends(current_admin_user),
db_session: Session = Depends(get_session),
) -> ChatSessionSnapshot:

View File

@@ -1,5 +1,6 @@
from datetime import datetime
from enum import Enum
from uuid import UUID
from pydantic import BaseModel
@@ -14,7 +15,7 @@ class FlowType(str, Enum):
class ChatMessageSkeleton(BaseModel):
message_id: int
chat_session_id: int
chat_session_id: UUID
user_id: str | None
flow_type: FlowType
time_sent: datetime