from typing import List, Optional from uuid import UUID from pydantic import Field from src.workscope_group.schema import ActivityMasterRead from src.models import DefultBase, Pagination from src.overhaul_scope.schema import ScopeRead class ScopeEquipmentJobBase(DefultBase): pass class ScopeEquipmentJobCreate(ScopeEquipmentJobBase): job_ids: Optional[List[UUID]] = [] class ScopeEquipmentJobUpdate(ScopeEquipmentJobBase): name: Optional[str] = Field(None) cost: Optional[str] = Field(0) class OverhaulActivity(DefultBase): id: UUID overhaul_scope: ScopeRead class OverhaulJob(DefultBase): id: UUID overhaul_activity: OverhaulActivity class ScopeEquipmentJobRead(ScopeEquipmentJobBase): id: UUID workscope_group: Optional[ActivityMasterRead] location_tag: str class ScopeEquipmentJobPagination(Pagination): items: List[ScopeEquipmentJobRead] = []