You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
903 B
Python
33 lines
903 B
Python
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] = []
|