from pydantic import BaseModel, Field from typing import Optional class TokenRequest(BaseModel): """Схема запроса для получения токена.""" code: str = Field(..., description="Временный код авторизации от Яндекса") class TokenResponse(BaseModel): """Схема ответа с токеном доступа.""" access_token: str token_type: str class UserInfoResponse(BaseModel): """Схема ответа с информацией о пользователе Яндекса.""" id: str login: str # Делаем эти поля необязательными. Если Яндекс их не пришлет, # они будут иметь значение None, и ошибки валидации не будет. display_name: Optional[str] = None default_email: Optional[str] = None