Commit Graph

41 Commits

Author SHA1 Message Date
Octol1ttle
57d492da8a
Upgrade project to PHP 8.3, add PHPStan, upgrade almost every dependency (#36)
* start updating to PHP 8.3

* taking off!

Co-authored-by: ErickSkrauch <erickskrauch@yandex.ru>
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>

* dropped this

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>

* migrate to symfonymailer

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>

* this is so stupid 😭

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>

* ah, free, at last.

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>

* oh, Gabriel.

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>

* now dawns thy reckoning.

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>

* and thy gore shall GLISTEN before the temples of man.

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>

* creature of steel.

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>

* my gratitude upon thee for my freedom.

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>

* but the crimes thy kind has committed against humanity

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>

* Upgrade PHP-CS-Fixer and do fix the codebase

* First review round (maybe I have broken something)

* are NOT forgotten.

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>

* Enable parallel PHP-CS-Fixer runner

* PHPStan level 1

* PHPStan level 2

* PHPStan level 3

* PHPStan level 4

* PHPStan level 5

* Levels 6 and 7 takes too much effort. Generate a baseline and fix them eventually

* Resolve TODO's related to the php-mock

* Drastically reduce baseline size with the Rector

* More code modernization with help of the Rector

* Update GitLab CI

---------

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
Co-authored-by: ErickSkrauch <erickskrauch@yandex.ru>
2024-12-02 11:10:55 +01:00
ErickSkrauch
0c110213f4
Remove minecraft_access_keys table and all related code 2024-06-14 05:42:35 +02:00
ErickSkrauch
b904d5d314
Implemented features to revoke access for previously authorized OAuth 2.0 clients 2020-09-30 20:30:04 +03:00
ErickSkrauch
89526c39bb
Fixes ACCOUNTS-4 2020-06-25 21:31:32 +03:00
ErickSkrauch
fb452901b8 Rework the webhooks table, allow to update exists webhooks 2020-06-14 01:21:19 +03:00
ErickSkrauch
17f1794a4e
Covered all cases, fixed CS, added a new TODO 2020-06-13 01:55:02 +03:00
ErickSkrauch
0183e54442
Implemented account deletion. Not all cases covered with tests [skip ci] 2020-06-12 00:27:02 +03:00
ErickSkrauch
14661c2233 Fix manual-migrate command 2019-12-11 15:17:38 +03:00
ErickSkrauch
cda4be04a1 Fix condition when to store scopes from redis 2019-12-11 13:23:56 +03:00
ErickSkrauch
3c9050340e Add console command to migrate all oauth sessions scopes data from redis to db 2019-12-11 01:30:12 +03:00
ErickSkrauch
6c4ce8cb8d Increase cleanup timout for minecraft access tokens 2019-09-01 23:16:13 +03:00
ErickSkrauch
f2ab7346aa Fixed almost everything, but all functional tests are broken at the last minute :( 2019-08-02 03:29:20 +03:00
ErickSkrauch
3dbf29d34c Translate all code comments from Russian to English [skip ci] 2019-07-15 01:59:56 +03:00
ErickSkrauch
7f42aadfcf Fix code style 2018-07-08 18:55:53 +03:00
ErickSkrauch
c0aa78d156 Implemented WebHooks delivery queue.
Completely removed usage of the RabbitMQ. Queue now based on Redis channels.
Worker process now extracted as separate docker container.
Base image upgraded to the 1.8.0 version (PHP 7.2.7 and pcntl extension).
2018-07-08 18:20:19 +03:00
ErickSkrauch
6751eb6591 Implemented webhooks database structure and console command register webhooks 2018-07-07 15:01:18 +03:00
ErickSkrauch
02ea7346a8 Implemented PHP-CS-Fixer support 2018-04-17 23:47:25 +03:00
ErickSkrauch
673429e577 Implementation of the backend for the OAuth2 clients management 2018-02-28 01:27:35 +03:00
ErickSkrauch
0fee23ac86 Сбор метрик о работе воркера 2017-11-22 22:47:36 +03:00
ErickSkrauch
d175dcdaed Добавлено небуферизируемое подключение к базе данных для решения проблемы с each и batch запросами 2017-11-15 00:03:38 +03:00
ErickSkrauch
e9208d8f21 Используем собственную реализацию each для выборки строк на удаление в cleanup контроллере 2017-11-14 19:49:51 +03:00
ErickSkrauch
e6fe2f3755 Добавлено восстановление соединения для AMQP воркера 2017-11-04 15:52:57 +03:00
ErickSkrauch
8e79d1dd1c Добавлено право на избегание удостоверения личности для внутренних приложений 2017-09-30 00:44:05 +03:00
ErickSkrauch
22ed0942e8 Добавлен функционал очистки устаревших AccountSessions 2017-09-29 02:04:16 +03:00
ErickSkrauch
ec0b25e88d Добавлен функционал очистки устаревших MinecraftAccessKey 2017-09-27 19:52:28 +03:00
ErickSkrauch
dd2c4bc413 Объединены сущности для авторизации посредством JWT токенов и токенов, выданных через oAuth2.
Все действия, связанные с аккаунтами, теперь вызываются через url `/api/v1/accounts/<id>/<action>`.
Добавлена вменяемая система разграничения прав на основе RBAC.
Теперь oAuth2 токены генерируются как случайная строка в 40 символов длинной, а не UUID.
Исправлен баг с неправильным временем жизни токена в ответе успешного запроса аутентификации.
Теперь все unit тесты можно успешно прогнать без наличия интернета.
2017-09-19 20:06:17 +03:00
ErickSkrauch
8e1e83ad67 Исправлена инъекция зависимости, потерянная при мерже 2017-06-11 22:09:07 +03:00
ErickSkrauch
d7b193f2e7 Оптимизировано потребление памяти для выборки email_actions на зачистку 2017-04-04 14:19:24 +03:00
ErickSkrauch
fe03bedc3a Добавлена команда для зачистки хранилища ключей активации по E-mail 2017-03-07 20:14:54 +03:00
ErickSkrauch
b9e5e3a679 Добавлен обработчик для события блокировки аккаунта 2016-12-29 02:01:26 +03:00
ErickSkrauch
1d364ea909 #278: исключаем логгирование для ошибок, связанных с соединением с базой данных 2016-12-24 01:44:31 +03:00
ErickSkrauch
c029db82a1 #272: удалены все следы использование таблицы oauth_access_tokens 2016-12-23 01:32:44 +03:00
ErickSkrauch
7c9e856453 Реализован и оттестирован CleanupController 2016-11-23 23:41:33 +03:00
ErickSkrauch
5c02b54010 Обновлена версия amqp controller, удалён gii, очередь событий аккаунтов переведена в устойчивый режим 2016-11-15 22:45:30 +03:00
ErickSkrauch
7ec87e0602 Переписаны тесты для AccountQueueController, чтобы они не делали запросов в сеть
Забыл комитнуть изменения для консольных тестов
2016-10-31 02:47:18 +03:00
ErickSkrauch
f3b953607d Фикс для очереди пула ников 2016-10-25 22:20:44 +03:00
ErickSkrauch
c3d0490d4a Реорганизован компонент для контроллера amqp очередей в наш внешний пакет 2016-08-16 01:30:38 +03:00
ErickSkrauch
6d3db89140 Изменена логика для работы с очередью задач, чтобы её можно было использовать в дальнейшем в кластере серверов 2016-07-17 18:27:44 +03:00
ErickSkrauch
cba769a1ec В проект внедрён RabbitMQ.
Контроллер для работы с RabbitMQ научился создавать типизированные аргументы для $body
Добавлена таблица с историей ников
Добавлена таблица Mojang ников
Добавлена проверка активированности аккаунта в AccountsController
2016-04-23 21:44:10 +03:00
ErickSkrauch
d2c064ac88 Первичная реализация компонентов RabbitMQ в проекте 2016-04-12 00:46:44 +03:00
ErickSkrauch
841303b8ab Инициализировано Yii2 приложение, выпилены лишние части, накинуты чуточку нужных 2016-01-02 16:43:18 +03:00