from typing import List, Optional | |
from pydantic import EmailStr, BaseModel | |
from passlib.context import CryptContext | |
pwd_context = CryptContext(schemes=["bcrypt"], deprecated="auto") | |
class UserSchema(BaseModel): | |
pk: int | |
id: int | |
name: str | |
class Config: | |
orm_mode = True | |
class BaseRequest(BaseModel): | |
email: EmailStr | |
name: str | |
password: str | |
phoneNumber: Optional[str] | |
def hash_password(self): | |
self.password = pwd_context.hash(self.password) | |