from pydantic import BaseModel, ConfigDict from app.schemas.manufacturer import ManufacturerRead from app.schemas.part_colour import PartColourRead from app.schemas.part_type import PartTypeRead from app.schemas.scope_model import ScopeModelRead from app.schemas.sub_part_type import SubPartTypeRead class AugmentedPartBase(BaseModel): sku: str | None = None description: str colour_id: int manufacturer_id: int scope_model_id: int | None = None part_type_id: int sub_part_type_id: int | None = None class AugmentedPartCreate(AugmentedPartBase): pass class AugmentedPartUpdate(BaseModel): sku: str | None = None description: str | None = None colour_id: int | None = None manufacturer_id: int | None = None scope_model_id: int | None = None part_type_id: int | None = None sub_part_type_id: int | None = None class AugmentedPartRead(AugmentedPartBase): model_config = ConfigDict(from_attributes=True) id: int colour: PartColourRead manufacturer: ManufacturerRead scope_model: ScopeModelRead | None part_type: PartTypeRead sub_part_type: SubPartTypeRead | None