File size: 578 Bytes
d2726bc |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
from typing import Optional
from pydantic import BaseModel, Field
from datetime import date
from .enums import Gender, Role
class UserBase(BaseModel):
email: str = Field(description="Email of user", example="datvip@gmail.com")
class UserLogin(UserBase):
password: str
class UserInfo(BaseModel):
name: str
birthdate: date | None = Field(example="2000-01-01")
phone_number: str | None = Field(example="0382929292")
gender: Gender
role: Role = Role.user
class UserSignup(UserLogin, UserInfo):
pass
class User(UserBase, UserInfo):
pass
|