From 9662a5f86eeb7fbb68b8a929502d30fd8f25dc02 Mon Sep 17 00:00:00 2001 From: Backend IM Bot Date: Wed, 26 Mar 2025 07:52:37 +0000 Subject: [PATCH] Add Message schema --- schemas/message.py | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/schemas/message.py b/schemas/message.py index 5cb52d9..c6d26f8 100644 --- a/schemas/message.py +++ b/schemas/message.py @@ -1,38 +1,39 @@ from pydantic import BaseModel, Field from typing import Optional +from datetime import datetime from uuid import UUID - class MessageBase(BaseModel): + content: str = Field(..., min_length=1, description="Message content") 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") - + receiver_id: UUID = Field(..., description="ID of the message receiver") 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 + "sender_id": "123e4567-e89b-12d3-a456-426614174000", + "receiver_id": "987fcdeb-51a2-3b4c-9d0e-142357468000" } } - class Message(MessageBase): id: UUID - + is_read: bool = False + created_at: datetime + updated_at: datetime + 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", + "id": "123e4567-e89b-12d3-a456-426614174000", "content": "Hello, how are you?", - "is_read": False + "sender_id": "123e4567-e89b-12d3-a456-426614174000", + "receiver_id": "987fcdeb-51a2-3b4c-9d0e-142357468000", + "is_read": False, + "created_at": "2023-01-01T00:00:00", + "updated_at": "2023-01-01T00:00:00" } } \ No newline at end of file