from typing import Any, Dict, List from pydantic import BaseModel, Field from src.overhaul_scope.schema import ScopeRead class OverhaulBase(BaseModel): pass class OverhaulCriticalParts(OverhaulBase): criticalParts: List[str] = Field(..., description='List of critical parts') class OverhaulSchedules(OverhaulBase): schedules: List[Dict[str, Any]] = Field(..., description='List of schedules') class OverhaulSystemComponents(OverhaulBase): systemComponents: Dict[str, Any] = Field(..., description='List of system components') class OverhaulRead(OverhaulBase): overview: Dict[str, Any] criticalParts: dict schedules: List[ScopeRead] systemComponents: Dict[str, Any]