2025-06-20 09:53:25 +00:00

44 lines
1.2 KiB
Python

from pydantic import BaseModel
from datetime import datetime
from typing import Optional
from app.schemas.category import Category
from app.schemas.supplier import Supplier
class ProductBase(BaseModel):
name: str
sku: str
description: Optional[str] = None
price: float
cost: Optional[float] = None
category_id: Optional[int] = None
supplier_id: Optional[int] = None
quantity_in_stock: int = 0
min_stock_level: int = 0
max_stock_level: Optional[int] = None
is_active: bool = True
class ProductCreate(ProductBase):
pass
class ProductUpdate(BaseModel):
name: Optional[str] = None
sku: Optional[str] = None
description: Optional[str] = None
price: Optional[float] = None
cost: Optional[float] = None
category_id: Optional[int] = None
supplier_id: Optional[int] = None
quantity_in_stock: Optional[int] = None
min_stock_level: Optional[int] = None
max_stock_level: Optional[int] = None
is_active: Optional[bool] = None
class Product(ProductBase):
id: int
created_at: datetime
updated_at: Optional[datetime] = None
category: Optional[Category] = None
supplier: Optional[Supplier] = None
class Config:
from_attributes = True