2025-06-01 10:05:16 +00:00

48 lines
888 B
Python

from typing import Optional
from pydantic import BaseModel
# Shared properties
class ItemBase(BaseModel):
name: Optional[str] = None
sku: Optional[str] = None
description: Optional[str] = None
price: Optional[float] = None
quantity: Optional[int] = 0
reorder_level: Optional[int] = 10
category_id: Optional[int] = None
# Properties to receive on item creation
class ItemCreate(ItemBase):
name: str
sku: str
price: float
# Properties to receive on item update
class ItemUpdate(ItemBase):
pass
# Properties shared by models in DB
class ItemInDBBase(ItemBase):
id: int
name: str
sku: str
price: float
owner_id: Optional[int] = None
class Config:
from_attributes = True
# Properties to return to client
class Item(ItemInDBBase):
pass
# Properties stored in DB
class ItemInDB(ItemInDBBase):
pass