items.py 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. from typing import List, Optional
  2. from pydantic import BaseModel
  3. class Item(BaseModel):
  4. name: str
  5. price: float
  6. quantity: int
  7. class Order(BaseModel):
  8. """Order model matching the database schema"""
  9. customerName: str
  10. items: List[Item]
  11. totalAmount: float
  12. orderDate: str
  13. table: int
  14. class Product(BaseModel):
  15. """Product model matching the database schema"""
  16. id: int
  17. name: str
  18. type: Optional[str] = None
  19. description: Optional[str] = None
  20. price: int
  21. image: Optional[str] = None
  22. status: int = 1 # 0: Inactive, 1: Active
  23. quantity: Optional[int] = 1 # Optional quantity for the product
  24. class ProductEditRequest(BaseModel):
  25. """Request model for editing a product"""
  26. name: Optional[str] = None
  27. type: Optional[str] = None
  28. description: Optional[str] = None
  29. price: Optional[int] = None
  30. image: Optional[str] = None
  31. status: Optional[int] = None # 0: Inactive, 1: Active
  32. quantity: Optional[int] = None # Optional quantity for the product
  33. class ProductCreateRequest(BaseModel):
  34. """Request model for creating a new product"""
  35. id: int
  36. name: str
  37. type: str
  38. description: str
  39. price: int
  40. image: str
  41. status: Optional[int] = 1 # 0: Inactive, 1: Active
  42. quantity: Optional[int] = 1 # Optional quantity for the product