| 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 | |