Files
fitguide/app/schemas/augmented_part.py
T

49 lines
1.2 KiB
Python

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 AugmentedPartSyncResult(BaseModel):
created: int
deleted: int
skipped: int
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