From 4996b5ff22377ba9d708c7e493995e6422d60214 Mon Sep 17 00:00:00 2001 From: Backend IM Bot Date: Wed, 26 Mar 2025 07:48:50 +0000 Subject: [PATCH] Add Message schema --- schemas/message.py | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 schemas/message.py diff --git a/schemas/message.py b/schemas/message.py new file mode 100644 index 0000000..5cb52d9 --- /dev/null +++ b/schemas/message.py @@ -0,0 +1,38 @@ +from pydantic import BaseModel, Field +from typing import Optional +from uuid import UUID + + +class MessageBase(BaseModel): + sender_id: UUID = Field(..., description="ID of the message sender") + recipient_id: UUID = Field(..., description="ID of the message recipient") + content: str = Field(..., min_length=1, description="Content of the message") + is_read: bool = Field(default=False, description="Message read status") + + +class MessageCreate(MessageBase): + class Config: + schema_extra = { + "example": { + "sender_id": "123e4567-e89b-12d3-a456-426614174000", + "recipient_id": "123e4567-e89b-12d3-a456-426614174001", + "content": "Hello, how are you?", + "is_read": False + } + } + + +class Message(MessageBase): + id: UUID + + class Config: + orm_mode = True + schema_extra = { + "example": { + "id": "123e4567-e89b-12d3-a456-426614174002", + "sender_id": "123e4567-e89b-12d3-a456-426614174000", + "recipient_id": "123e4567-e89b-12d3-a456-426614174001", + "content": "Hello, how are you?", + "is_read": False + } + } \ No newline at end of file