from pydantic import BaseModel, EmailStr from typing import Optional class UserBase(BaseModel): email: EmailStr username: str first_name: Optional[str] = None last_name: Optional[str] = None class UserCreate(UserBase): password: str class UserUpdate(UserBase): pass class UserInDBBase(UserBase): id: int is_active: bool is_superuser: bool class Config: orm_mode = True class User(UserInDBBase): pass class UserInDB(UserInDBBase): hashed_password: str