Files
marquiz-metrics/app/api/v1/schemas/auth.py
13orlov 4fa63f16be
All checks were successful
continuous-integration/drone/push Build is passing
fix(schemas): Make user info fields optional to handle different account types
2025-08-24 22:52:27 +01:00

20 lines
898 B
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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