from api_validations.core_validations import BaseModelRegular
from api_validations.validations_request import (
    PydanticBaseModel,
    ListOptions,
)
from typing import Optional


class InsertPostCode(PydanticBaseModel):
    street_uu_id: str
    post_code: str


class SearchAddress(PydanticBaseModel):
    search: str
    list_options: ListOptions


class InsertStreet(PydanticBaseModel):
    street_code: str
    street_name: str
    postcode: str

    type_code: Optional[str] = None
    type_description: Optional[str] = None
    gov_code: Optional[str] = None
    address_geographic_uu_id: Optional[str] = None


class InsertAddress(PydanticBaseModel):
    post_code_uu_id: str

    comment_address: Optional[str] = None
    letter_address: Optional[str] = None

    build_number: str
    door_number: Optional[str] = None
    floor_number: Optional[str] = None

    short_letter_address: Optional[str] = None
    latitude: Optional[float] = None
    longitude: Optional[float] = None


class _UpdateAddress(PydanticBaseModel):
    ...
    # country_code: Optional[str] = None
    # city: Optional[str] = None
    # district: Optional[str] = None
    # b_state: Optional[str] = None
    # neighborhood: Optional[str] = None
    # street: Optional[str] = None
    # postcode: Optional[str] = None
    # latitude: Optional[float] = None
    # longitude: Optional[float] = None
