Commit Graph

37 Commits

Author SHA1 Message Date
8fba0fc709 feat(env): add ability to set custom .env file for testing on local machine 2025-06-13 01:03:06 +04:00
fb6f3fc05f chore(deps): upgrade dependencies 2025-06-13 00:56:58 +04:00
e64011ba16 feat!: add telegram auth and async refactor
- Removed "/schedule/update-download-url" endpoint, this mechanism was replaced by Yandex Cloud FaaS. Ура :)
- Improved schedule caching mechanism.
- Added Telegram WebApp authentication support.
- Reworked endpoints responses and errors mechanism.
- Refactored application state management.
- Make synchronous database operations, middlewares and extractors to asynchronous.
- Made user password field optional to support multiple auth methods.
- Renamed users table column "version" to "android_version" and made it nullable.
2025-06-08 01:43:45 +04:00
ba8b164b6a refactor(parser): rewrite some parts of code 2025-05-26 05:24:08 +04:00
ff9d7d6c3a fix(cache): fix setting cache_update_required flag in cache status 2025-05-25 17:39:23 +04:00
9090716f87 fix(test): fix test sign_up_invalid_group 2025-05-25 15:57:18 +04:00
7f71fb1616 refactor(env): remove unsave env::set_var call 2025-05-25 15:48:43 +04:00
234055eaeb feat(test): add ability to use test env without schedule 2025-05-25 15:48:10 +04:00
20602eb863 Улучшенное отображение ошибок при обновлении ссылки расписания. 2025-04-18 00:11:05 +04:00
22af02464d Исправление работы авторизации с помощью VK ID. 2025-04-17 23:07:19 +04:00
9a517519db User-Agent для reqwest теперь устанавливается с помощью переменной окружения. 2025-04-17 22:41:42 +04:00
66ad4ef938 Подключение sentry. 2025-04-17 01:07:03 +04:00
28f59389ed Исправление тестов.
FCMClient теперь не инициализируется, если отсутствует требуемая переменная окружения.
2025-04-16 16:38:37 +04:00
e71ab0526d Middleware для явного указания кодировки в заголовке Content-Type. 2025-04-16 16:21:53 +04:00
ff05614404 Исправление обработки времени у пар. 2025-04-16 16:21:18 +04:00
9cc03c4ffe Фильтр эндпоинтов для middleware. 2025-04-16 16:20:32 +04:00
5068fe3069 Обновление документации. 2025-04-15 22:09:10 +04:00
2fd6d787a0 Эндпоинт users/change-group. 2025-04-15 19:39:46 +04:00
7a1b32d843 Эндпоинт users/change-username. 2025-04-15 18:55:45 +04:00
542258df01 Эндпоинт fcm/set-token. 2025-04-15 18:44:43 +04:00
ccaabfe909 Асинхронный вариант MutexScope. 2025-04-15 18:44:03 +04:00
4c5e0761eb Подключение FCM. 2025-04-15 14:35:05 +04:00
057dac5b09 Использование функции для осуществления операций в базе данных вместо ручного блокирования мьютекса. 2025-04-15 14:33:58 +04:00
5b6f5c830f Реформат путей к эндпоинтам.
Добавлен экстрактор пользователя с дополнительными полями.

Добавлена связь таблиц User и FCM.

Завершена реализация авторизации с помощью VK ID.

Добавлен эндпоинт fcm/update-callback/{version}.
2025-04-14 22:08:28 +04:00
680419ea78 0.8.0
Реализованы все требуемые эндпоинты schedule.

Улучшена документация.
2025-03-28 23:24:37 +04:00
30c985a3d7 Добавлена возможность создания ResponseError с описанием ошибки.
Добавлен макрос для трансформации ErrorCode в Response, а также для имплементации треита PartialStatusCode.
2025-03-28 15:42:45 +04:00
70a7480ea3 0.7.0
Добавлена OpenAPI документация эндпоинтов и структур с интерфейсом RapiDoc.

Добавлены derive макросы для преобразования структуры в HttpResponse с помощью ResponderJson и IResponse<T> с помощью IntoIResponse.

Ревью кода эндпоинтов связанных с авторизацией.

Эндпоинт users/me теперь объект пользователя в требуемом виде.
2025-03-28 01:21:49 +04:00
1add903f36 0.6.0
Добавлена проверка токена пользователя для перед обработкой запроса.
2025-03-27 20:03:35 +04:00
f703cc8326 0.5.0
Возвращёна реализация сериализации в json для IResponse

Добавлены типы для экстракции данных из запросов средствами actix-web

Добавлен экстрактор для получения пользователя по токену доступа передаваемому в запросе

Добавлен макрос для автоматической реализации ResponseError для ошибок экстракторов

Добавлен эндпоинт users/me

Из главного проекта исключена зависимость actix-http посредством переноса части тестового функционала в отдельный crate
2025-03-26 08:05:22 +04:00
ab1cbd795e 0.4.0
Авторизация через токен вк

Слияние schedule_parser с проектом

Перенос схемы запросов/ответов в файлы эндпоинтов

Переход с библиотеки jwt на jsonwebtokens
2025-03-25 02:05:27 +04:00
a95494d3be Регистрация и тесты эндпоинтов 2025-03-23 06:11:13 +04:00
844c89a365 Тесты JWT
Имплементация PartialEq для utils::jwt::VerifyError

Замена устаревшего changeset_options на diesel

Удалена проверка на ошибку создания токена, так как вероятность её появления близка к нулю
2025-03-22 23:14:14 +04:00
ba86dfc3fe Полностью рабочая авторизация 2025-03-22 22:44:52 +04:00
9f7460973e Подключение к Postgres и тестовый эндпоинт авторизации 2025-03-22 03:20:55 +04:00
126ba23001 Скачивание XLS документа по ссылке 2025-03-21 23:55:16 +04:00
b508db693e Добавлена конвертация расписания групп в расписание преподавателей 2025-03-21 20:54:52 +04:00
f1d812ddb8 Первый коммит 2025-03-21 07:25:42 +04:00