"""消息相关 Schema""" from datetime import datetime from pydantic import BaseModel, Field class MessageSend(BaseModel): conversation_id: str content: str = Field(..., min_length=1, max_length=5000) type: str = Field(default="text", pattern="^(text|image|file)$") reply_to_id: str | None = None class MessageRead(BaseModel): id: str conversation_id: str sender_id: str sender_name: str | None = None sender_avatar: str | None = None type: str content: str reply_to_id: str | None = None is_deleted: bool = False created_at: datetime model_config = {"from_attributes": True} class MessagePage(BaseModel): messages: list[MessageRead] has_more: bool = False next_cursor: str | None = None class MarkReadRequest(BaseModel): message_id: str