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


class UpdateBuildTypes(PydanticBaseModel): ...


class InsertBuildTypes(PydanticBaseModel):
    function_code: str
    type_code: str
    lang: str
    type_name: str


class InsertBuildParts(PydanticBaseModel):
    build_uu_id: str
    address_gov_code: str
    part_no: int
    part_level: int
    build_part_type_uu_id: str

    part_gross_size: Optional[int] = None
    part_net_size: Optional[int] = None
    default_accessory: Optional[str] = None
    human_livable: Optional[bool] = False
    part_direction_uu_id: Optional[str] = None
    ref_id: Optional[str] = None

    # current_owner_person_uu_id: Optional[str] = None
    # current_tenant_person_uu_id: Optional[str] = None


class UpdateBuildParts(PydanticBaseModel):
    address_gov_code: Optional[str] = None
    part_no: Optional[int] = None
    part_level: Optional[int] = None
    build_part_type_uu_id: Optional[str] = None

    part_code: Optional[int] = None
    part_gross_size: Optional[int] = None
    part_net_size: Optional[int] = None
    default_accessory: Optional[str] = None
    human_livable: Optional[bool] = False
    part_direction: Optional[str] = None
    current_owner_person_uu_id: Optional[str] = None
    current_tenant_person_uu_id: Optional[str] = None
