from datetime import datetime from pydantic import BaseModel, ConfigDict, EmailStr, Field from .models import UserRole class UserCreate(BaseModel): """Данные для регистрации пользователя.""" email: EmailStr password: str = Field(min_length=12, max_length=128) class UserOut(BaseModel): """Публичное представление пользователя без пароля.""" model_config = ConfigDict(from_attributes=True) id: int email: EmailStr role: UserRole is_active: bool created_at: datetime class TokenOut(BaseModel): """Ответ с access token.""" access_token: str token_type: str = "bearer"