# App/Messages/Schema.py from pydantic import BaseModel, UUID4, Field, ConfigDict, condecimal, constr from datetime import datetime from typing import Optional class TransactionSchema(BaseModel): transaction_id: str amount_received: float phone_number: str name: str date: datetime new_balance: float class PayloadSchema(BaseModel): message: str phoneNumber: str receivedAt: datetime simNumber: Optional[int] class MessageCreate(BaseModel): deviceId: Optional[str] event: Optional[str] id: Optional[str] payload: PayloadSchema webhookId: Optional[str] class MessageResponse(BaseModel): id: UUID4 device_id: Optional[str] event: Optional[str] message_id: Optional[str] webhook_id: Optional[str] message_content: str phone_number: str received_at: datetime sim_number: Optional[int] parsed_data: Optional[dict] # Include parsed_data in the response created_time: datetime model_config = ConfigDict(from_attributes=True) # class Config: # orm_mode = True # allow_population_by_field_name = True