from dataclasses import dataclass
from datetime import date
from typing import Optional


@dataclass
class LbwfAssetCondition:
    prop_ref: int
    domna: int
    address: str
    ownership: str
    prop_status: str
    prop_type: str # TODO: make this enum?
    prop_sub_type: str  # TODO: make this enum?
    element_group: str
    element_code: str
    element_code_description: str
    attribute_code: str
    attribute_code_description: str
    element_date_value: Optional[str] = None
    element_numerical_value: Optional[int] = None
    element_text_value: Optional[str] = None
    quantity: Optional[int] = None
    install_date: Optional[date] = None
    remaining_life: Optional[int] = None
    element_comments: Optional[str] = None

