from typing import List, Optional

from pydantic import BaseModel

from app.schemas.equipment import AHU, FCU, VAVBox
from app.schemas.diagnosis import FaultCategory
from app.services.transfer import Season


class ThermalComfortDiagnosisRequest(BaseModel):
    realtime_temp: float
    target_temp: float
    season: Season
    duration_minutes: float
    fcu_list: Optional[List[FCU]] = None
    vav_list: Optional[List[VAVBox]] = None
    ahu: Optional[AHU] = None
    known_err: Optional[FaultCategory] = None


class ThermalComfortDiagnosisResponse(BaseModel):
    pass