Files
mailova/app/schemas.py

71 lines
1.6 KiB
Python

from datetime import datetime
from pydantic import BaseModel
# ---------- Profile ----------
class ProfileCreate(BaseModel):
nickname: str
country: str | None = None
class ProfileUpdate(BaseModel):
nickname: str | None = None
country: str | None = None
class ProfileOut(BaseModel):
id: int
nickname: str
country: str | None
created_at: datetime
model_config = {"from_attributes": True}
# ---------- Postcard ----------
class PostcardCreate(BaseModel):
card_number: str
status: str
recipient_name: str | None = None
country_from: str | None = None
country_to: str | None = None
send_time: datetime | None = None
arrival_time: datetime | None = None
sender_name: str | None = None
receive_time: datetime | None = None
class PostcardUpdate(BaseModel):
card_number: str | None = None
status: str | None = None
recipient_name: str | None = None
country_from: str | None = None
country_to: str | None = None
send_time: datetime | None = None
arrival_time: datetime | None = None
sender_name: str | None = None
receive_time: str | None = None
class PostcardOut(BaseModel):
id: int
profile_id: int
card_number: str
status: str
recipient_name: str | None
country_from: str | None
country_to: str | None
send_time: datetime | None
arrival_time: datetime | None
sender_name: str | None
receive_time: datetime | None
image_front: str | None
image_back: str | None
created_at: datetime
updated_at: datetime
model_config = {"from_attributes": True}