選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

user.py 845 B

123456789101112131415161718192021222324252627282930
  1. # Purpose: User schema for pydantic (validation, inside-api usage)
  2. from datetime import datetime
  3. from pydantic import BaseModel, EmailStr, Field
  4. class UserCreate(BaseModel):
  5. Email: EmailStr
  6. Password: str = Field(..., min_length=7, max_length=20)
  7. Name: str = Field(..., min_length=3, max_length=50)
  8. MiddleName: str = Field(None, min_length=3, max_length=50)
  9. LastName: str = Field(..., min_length=3, max_length=50)
  10. ContactNumber: str = Field(..., min_length=12, max_length=12)
  11. BirthDate: datetime = Field(...)
  12. Email: EmailStr = Field(...)
  13. Role: str = Field(..., min_length=3, max_length=50)
  14. class ShowUser(BaseModel):
  15. Id: int
  16. Name: str
  17. MiddleName: str
  18. LastName: str
  19. ContactNumber: str
  20. BirthDate: datetime
  21. Email: EmailStr
  22. Role: str
  23. class Config:
  24. orm_mode = True