schemas.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. from logging import disable
  2. from typing import Optional
  3. from pydantic import BaseModel, validator, EmailStr
  4. from datetime import datetime
  5. from sqlalchemy.sql.expression import text
  6. class UserSchema(BaseModel):
  7. """[summary]
  8. Args:
  9. BaseModel ([type]): [description]
  10. """
  11. id: int
  12. email: EmailStr
  13. username: str
  14. password: str
  15. token: Optional[str] = None
  16. left_time: Optional[int] = None
  17. last_stored: Optional[datetime] = None
  18. line_token: Optional[str] = None
  19. veri_url: Optional[str] = None
  20. class Config:
  21. orm_mode = True
  22. class order_info_linepay(BaseModel):
  23. """[summary]
  24. Args:
  25. BaseModel ([type]): [description]
  26. """
  27. id: int
  28. # UUID4 validation???
  29. orderid: str
  30. email: EmailStr
  31. # phone: phone??
  32. # @validator('phone')
  33. # def check_phone()
  34. phone: Optional[str] = None
  35. full_name: Optional[str] = None
  36. transaction_date: datetime = datetime.now()
  37. ## this is to avoid lazy loading problem
  38. class Config:
  39. orm_mode = True
  40. ## this is for data parsing&&&data validation