37 lines
744 B
Python
37 lines
744 B
Python
from datetime import datetime
|
|
from decimal import Decimal
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class ProductBase(BaseModel):
|
|
sku: str
|
|
name: str
|
|
description: str | None = None
|
|
category_id: str | None = None
|
|
price: Decimal
|
|
min_stock: int = 0
|
|
current_stock: int = 0
|
|
|
|
|
|
class ProductCreate(ProductBase):
|
|
pass
|
|
|
|
|
|
class ProductUpdate(BaseModel):
|
|
sku: str | None = None
|
|
name: str | None = None
|
|
description: str | None = None
|
|
category_id: str | None = None
|
|
price: Decimal | None = None
|
|
min_stock: int | None = None
|
|
current_stock: int | None = None
|
|
|
|
|
|
class ProductResponse(ProductBase):
|
|
id: str
|
|
created_at: datetime
|
|
updated_at: datetime
|
|
|
|
class Config:
|
|
from_attributes = True
|