user.py 887 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. # app/schemas/user.py
  2. from pydantic import BaseModel, EmailStr
  3. from typing import Optional
  4. from datetime import datetime
  5. class VasUserBase(BaseModel):
  6. role: Optional[str]
  7. email: Optional[EmailStr]
  8. phone: Optional[str]
  9. nickname: Optional[str]
  10. avatar_url: Optional[str]
  11. preferred_language: Optional[str]
  12. timezone: Optional[str]
  13. email_verified: Optional[int]
  14. class VasUserCreate(BaseModel):
  15. role: str
  16. email: EmailStr
  17. phone: str
  18. nickname: str
  19. avatar_url: str
  20. password: str
  21. class VasUserUpdate(BaseModel):
  22. role: str
  23. phone: str
  24. nickname: str
  25. email_verified: int
  26. class VasUserSetProfiles(BaseModel):
  27. phone: str
  28. nickname: str
  29. avatar_url: str
  30. class VasUserOut(VasUserBase):
  31. id: str
  32. created_at: datetime
  33. updated_at: datetime
  34. model_config = {
  35. "from_attributes": True
  36. }