items.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. from typing import List, Optional
  2. from pydantic import BaseModel
  3. class Product(BaseModel):
  4. """Product model matching the database schema"""
  5. id: int
  6. name: str
  7. type: Optional[str] = None
  8. description: Optional[str] = None
  9. price: float
  10. image: Optional[str] = None
  11. status: int = 1 # 0: Inactive, 1: Active
  12. quantity: Optional[int] = 1 # Optional quantity for the product
  13. class ProductEditRequest(BaseModel):
  14. """Request model for editing a product"""
  15. name: Optional[str] = None
  16. type: Optional[str] = None
  17. description: Optional[str] = None
  18. price: Optional[float] = None
  19. image: Optional[str] = None
  20. status: Optional[int] = None # 0: Inactive, 1: Active
  21. quantity: Optional[int] = None # Optional quantity for the product
  22. class ProductCreateRequest(BaseModel):
  23. """Request model for creating a new product"""
  24. id: int
  25. name: str
  26. type: str
  27. description: str
  28. price: float
  29. image: str
  30. status: Optional[int] = 1 # 0: Inactive, 1: Active
  31. quantity: Optional[int] = 1 # Optional quantity for the product