43 lines
1.1 KiB
Python
43 lines
1.1 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 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
|