from datetime import datetime from typing import Optional from pydantic import BaseModel class MessageBase(BaseModel): content: str recipient_id: Optional[str] = None # Optional for group chats class MessageCreate(MessageBase): conversation_id: str class MessageUpdate(BaseModel): content: Optional[str] = None is_read: Optional[bool] = None class MessageInDBBase(MessageBase): id: str sender_id: str conversation_id: str is_read: bool created_at: datetime updated_at: datetime class Config: orm_mode = True class Message(MessageInDBBase): pass class MessageInDB(MessageInDBBase): pass