from datetime import datetime from enum import Enum from pydantic import BaseModel, ConfigDict class UserRole(str, Enum): trainer = "trainer" trainee = "trainee" class UserDTO(BaseModel): """A user without the password hash: safe to return from the API.""" model_config = ConfigDict(from_attributes=True) id: int email: str first_name: str last_name: str role: UserRole is_active: bool is_superuser: bool created_at: datetime last_login: datetime | None = None class TrainerDTO(BaseModel): """What any signed-in user may know about a trainer: enough to pick one in a form.""" id: int name: str