👤 API: Реализовать регистрацию через Telegram (POST /register/telegram)
🎯 User Story
Как новый пользователь из Telegram, я хочу иметь возможность зарегистрироваться в системе, чтобы получить токен для доступа к API.
📋 Что нужно сделать
-
Создать эндпоинт:
POST /register/telegram. -
Реализовать обработчик в новом модуле
src/api/user.rs(илиauth.rs). -
Входящие данные: Принимать JSON-объект с полем
telegram_id. -
Добавить логику:
- Найти пользователя в базе данных по
telegram_id. - Если пользователь не найден — создать нового пользователя.
- Сгенерировать для пользователя новый постоянный токен аутентификации.
- Сохранить токен в базе данных.
- Найти пользователя в базе данных по
-
Обеспечить обработку ошибок с помощью
AppError. - Написать юнит-тесты для логики регистрации и создания токена.
✅ Ожидаемый результат
- При успешной регистрации/логине, эндпоинт должен вернуть
200 OK(или201 Createdдля нового пользователя) и JSON-объект, содержащий данные пользователя и его токен:{ "user": {...}, "token": "..." }.
🧩 Puzzle Driven Development
- Бюджет времени: 1 час 30 минут
Edited by Mykko Tu