sales.py 743 B

123456789101112131415161718192021222324252627282930313233343536
  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: int
  10. price: int
  11. quantity: int
  12. promotion: Optional[Promotion] = None
  13. class OrderWeb(BaseModel):
  14. customerId: int
  15. items: List[ItemWeb]
  16. totalAmount: float
  17. orderDate: str
  18. table: int
  19. class Sale(BaseModel):
  20. """Sale model matching the database schema"""
  21. id: int
  22. user_id: int
  23. total: float
  24. fudo_id: str
  25. date: datetime
  26. table: int
  27. username: Optional[str] = None
  28. user_email: Optional[str] = None
  29. products: List[Product] = []