👤 API: Реализовать регистрацию через Telegram (POST /register/telegram)

🎯 User Story

Как новый пользователь из Telegram, я хочу иметь возможность зарегистрироваться в системе, чтобы получить токен для доступа к API.

📋 Что нужно сделать

  1. Создать эндпоинт: POST /register/telegram.
  2. Реализовать обработчик в новом модуле src/api/user.rs (или auth.rs).
  3. Входящие данные: Принимать JSON-объект с полем telegram_id.
  4. Добавить логику:
    • Найти пользователя в базе данных по telegram_id.
    • Если пользователь не найден — создать нового пользователя.
    • Сгенерировать для пользователя новый постоянный токен аутентификации.
    • Сохранить токен в базе данных.
  5. Обеспечить обработку ошибок с помощью AppError.
  6. Написать юнит-тесты для логики регистрации и создания токена.

Ожидаемый результат

  • При успешной регистрации/логине, эндпоинт должен вернуть 200 OK (или 201 Created для нового пользователя) и JSON-объект, содержащий данные пользователя и его токен: { "user": {...}, "token": "..." }.

🧩 Puzzle Driven Development

  • Бюджет времени: 1 час 30 минут
Edited by Mykko Tu