diff --git a/backend/app/schemas.py b/backend/app/schemas.py new file mode 100644 index 0000000..ccb6e45 --- /dev/null +++ b/backend/app/schemas.py @@ -0,0 +1,31 @@ +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"