sales.py 708 B

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