Files

25 lines
864 B
Python

"""Output schemas for delivery-related API responses."""
from decimal import Decimal
from pydantic import BaseModel, Field
class DeliveryPrice(BaseModel):
provider: str = Field(min_length=1)
service_name: str = Field(min_length=1)
price: Decimal = Field(gt=0)
currency: str = Field(min_length=3, max_length=3)
delivery_days_min: int = Field(ge=0)
delivery_days_max: int = Field(ge=0)
tariff_code: str | None = Field(default=None, min_length=1)
bypass_parcel_type_filter: bool = Field(default=False, exclude=True)
class AddressSuggestion(BaseModel):
address: str = Field(min_length=1)
street: str | None = Field(default=None, min_length=1)
house: str | None = Field(default=None, min_length=1)
flat: str | None = Field(default=None, min_length=1)
postal_code: str | None = Field(default=None, min_length=1)