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


class InsertBuild(PydanticBaseModel):
    gov_address_code: str
    build_name: str
    build_types_uu_id: str
    max_floor: int
    underground_floor: int
    address_uu_id: str
    build_date: str
    decision_period_date: str

    tax_no: Optional[str] = None
    lift_count: Optional[int] = None
    heating_system: Optional[bool] = None
    cooling_system: Optional[bool] = None
    hot_water_system: Optional[bool] = None
    block_service_man_count: Optional[int] = None
    security_service_man_count: Optional[int] = None
    garage_count: Optional[int] = None


class UpdateBuild(PydanticBaseModel):
    gov_address_code: Optional[str] = None
    build_name: Optional[str] = None
    build_no: Optional[str] = None
    build_types: Optional[str] = None
    max_floor: Optional[int] = None
    underground_floor: Optional[int] = None
    build_date: Optional[str] = None
    tax_no: Optional[str] = None
    lift_count: Optional[int] = None
    heating_system: Optional[bool] = None
    cooling_system: Optional[bool] = None
    hot_water_system: Optional[bool] = None
    block_service_man_count: Optional[int] = None
    security_service_man_count: Optional[int] = None
    garage_count: Optional[int] = None
    address_uu_id: Optional[str] = None
