diff --git a/app/schemas/product.py b/app/schemas/product.py new file mode 100644 index 0000000..89ce3f4 --- /dev/null +++ b/app/schemas/product.py @@ -0,0 +1,36 @@ +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