product.py 927 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. from pydantic import BaseModel
  2. from typing import Optional, Dict, Any
  3. from datetime import datetime
  4. class VasProductBase(BaseModel):
  5. title: Optional[str] = None
  6. description: Optional[str] = None
  7. extra_fields: Optional[Dict[str, Any]] = None
  8. enabled: Optional[int] = None
  9. class VasProductCreate(BaseModel):
  10. country: str
  11. city: str
  12. visa_type: Optional[str]
  13. provider: str
  14. title: str
  15. description: Optional[str]
  16. extra_fields: Optional[Dict[str, Any]]
  17. price_amount: int
  18. price_currency: str
  19. schema_id: Optional[int]
  20. class VasProductUpdate(VasProductBase):
  21. pass
  22. class VasProductOut(VasProductBase):
  23. id: int
  24. country: str
  25. city: str
  26. visa_type: Optional[str]
  27. provider: str
  28. price_amount: int
  29. price_currency: str
  30. schema_id: Optional[int]
  31. created_at: datetime
  32. updated_at: datetime
  33. class Config:
  34. orm_mode = True