Files
g2s-aggregator/app/schemas/request.py
T
Раис Юсупалиев 17772e5337 Добавлена dadata
2026-03-28 03:44:05 +03:00

34 lines
807 B
Python

"""Input schemas for delivery-related API requests."""
from enum import StrEnum
from pydantic import BaseModel, Field, StrictInt
class DeliveryEntity(StrEnum):
INDIVIDUAL = "individual"
LEGAL = "legal"
class ParcelType(StrEnum):
DOC = "doc"
PARCEL = "parcel"
class DeliveryCalculationRequest(BaseModel):
entity: DeliveryEntity
from_city: StrictInt
to_city: StrictInt
weight_kg: float = Field(gt=0)
length_cm: float = Field(gt=0)
width_cm: float = Field(gt=0)
height_cm: float = Field(gt=0)
parcel_type: ParcelType | None = None
class AddressSuggestRequest(BaseModel):
country_code: str = Field(min_length=2, max_length=2)
city: str = Field(min_length=1)
query: str = Field(min_length=1)
limit: int | None = Field(default=None, gt=0)