sales.py 760 B

12345678910111213141516171819202122232425262728293031323334353637
  1. from datetime import datetime
  2. from typing import List, Optional
  3. from pydantic import BaseModel
  4. from models.items import Product
  5. class Promotion(BaseModel):
  6. id: Optional[int] = None
  7. price: Optional[float] = None
  8. class ItemWeb(BaseModel):
  9. id: str
  10. price: int
  11. quantity: int
  12. comment: str
  13. promotion: Optional[Promotion] = None
  14. class OrderWeb(BaseModel):
  15. customerId: int
  16. items: List[ItemWeb]
  17. totalAmount: float
  18. orderDate: str
  19. table: int
  20. class Sale(BaseModel):
  21. """Sale model matching the database schema"""
  22. id: int
  23. user_id: int
  24. total: float
  25. fudo_id: str
  26. date: datetime
  27. table: int
  28. username: Optional[str] = None
  29. user_email: Optional[str] = None
  30. products: List[Product] = []