21 lines
473 B
Python
21 lines
473 B
Python
"""Input schemas for price calculation."""
|
|
|
|
from enum import StrEnum
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
|
|
class DeliveryEntity(StrEnum):
|
|
INDIVIDUAL = "individual"
|
|
LEGAL = "legal"
|
|
|
|
|
|
class DeliveryRequest(BaseModel):
|
|
entity: DeliveryEntity
|
|
from_city: str = Field(min_length=1)
|
|
to_city: str = Field(min_length=1)
|
|
weight_kg: float = Field(gt=0)
|
|
length_cm: float = Field(gt=0)
|
|
width_cm: float = Field(gt=0)
|
|
height_cm: float = Field(gt=0)
|