Files
chat/backend/app/schemas/message.py
T
2026-06-12 23:14:12 +08:00

38 lines
826 B
Python

"""消息相关 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