hotspot / App /Messages /Schema.py
Mbonea's picture
Messages
a18c333
raw
history blame
1.4 kB
# App/Messages/Schema.py
from pydantic import BaseModel, UUID4, Field, ConfigDict, condecimal, constr, validator
from datetime import datetime
from typing import Optional, Dict, Union
import uuid
from pydantic import BaseModel, UUID4, Field, validator, ConfigDict
from uuid import uuid4, UUID
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: Optional[Union[UUID4, str]] = None
device_id: Optional[str] = None
event: Optional[str] = None
message_id: Optional[str] = None
webhook_id: Optional[str] = None
message_content: Optional[str] = None
phone_number: Optional[str] = None
received_at: Optional[datetime] = None
sim_number: Optional[int] = None
parsed_data: Optional[Dict] = None # Include parsed_data in the response
created_time: Optional[datetime] = None
model_config = ConfigDict(from_attributes=True)
# class Config:
# orm_mode = True
# allow_population_by_field_name = True