| from pydantic import BaseModel, Field | |
| from typing import List, Optional | |
| from datetime import datetime | |
| class Message(BaseModel): | |
| sender: str # "user" or "ai" | |
| text: Optional[str] = None | |
| image_url: Optional[str] = None | |
| voice_url: Optional[str] = None | |
| created_at: datetime = Field(default_factory=datetime.utcnow) | |
| class Session(BaseModel): | |
| id: str = Field(default_factory=str, alias="_id") | |
| user_id: str | |
| title: str | |
| messages: List[Message] = [] | |
| created_at: datetime = Field(default_factory=datetime.utcnow) | |
| updated_at: datetime = Field(default_factory=datetime.utcnow) | |