From d6db083deadfe84c3fc7144459c15f19b001767e Mon Sep 17 00:00:00 2001 From: Nikita Kiselev Date: Mon, 17 Nov 2025 15:00:54 +0300 Subject: [PATCH] Implement PSR3 and PHP Monolog (#19) * feat: install monolog composer lib * feat: implement psr3 and monolog * feat: display logs in frontend * fix: tests * build: update cicd to run tests for PR * build: add phpcs to cicd * refactor: fix phpcs problems --- .github/workflows/main.yaml | 21 ++ Makefile | 3 + frontend/admin/src/App.vue | 4 + frontend/admin/src/assets/main.css | 4 - frontend/admin/src/components/LogsViewer.vue | 18 ++ frontend/admin/src/router/index.js | 2 + frontend/admin/src/views/LogsView.vue | 8 + .../controller/extension/module/tgshop.php | 51 +++-- .../template/extension/module/tgshop.twig | 12 +- .../controller/extension/tgshop/handle.php | 33 ++-- .../bastion/Handlers/DictionariesHandler.php | 0 .../bastion/Handlers/LogsHandler.php | 59 ++++++ .../bastion/Handlers/TelegramHandler.php | 8 +- .../bastion/Services/BotTokenConfigurator.php | 4 +- .../bastion/Tasks/CleanUpOldAssets.php | 0 .../oc_telegram_shop/bastion/routes.php | 2 + .../upload/oc_telegram_shop/composer.json | 7 +- .../upload/oc_telegram_shop/composer.lock | 183 +++++++++++++++++- .../oc_telegram_shop/configs/maintenance.php | 0 .../database/migrations/.gitkeep | 0 ...101000000_migrate_from_legacy_settings.php | 0 ...0101000001_create_telecart_cache_table.php | 0 .../20260101000002_remove_legacy_files.php | 0 .../framework/Application.php | 22 +-- .../framework/Container/Container.php | 2 + .../framework/ErrorHandler.php | 6 +- .../framework/Http/Request.php | 2 +- .../framework/ImageTool/ImageTool.php | 9 +- .../framework/Logger/Logger.php | 89 --------- .../framework/Logger/LoggerInterface.php | 25 --- .../framework/Logger/OpenCartLogAdapter.php | 85 -------- .../MaintenanceTasks/BaseMaintenanceTask.php | 2 +- .../MaintenanceTaskInterface.php | 0 .../MaintenanceTasksService.php | 2 +- .../MaintenanceTasksServiceProvider.php | 2 +- .../framework/Migrations/Migration.php | 2 +- .../Migrations/MigrationsServiceProvider.php | 2 +- .../framework/Migrations/MigratorService.php | 11 +- .../framework/Router/RouteServiceProvider.php | 2 +- .../framework/Support/Arr.php | 5 - .../framework/Support/Str.php | 1 - .../Support/SupportServiceProvider.php | 0 .../framework/Support/WorkLogsBag.php | 0 .../Telegram/Commands/StartCommand.php | 2 +- .../framework/Telegram/RequestValidator.php | 3 +- .../framework/Telegram/SignatureValidator.php | 2 +- .../Telegram/TelegramServiceProvider.php | 2 +- .../TelegramValidateInitDataMiddleware.php | 2 +- .../Validator/ValidatorInterface.php | 2 +- .../src/Adapters/OcCartAdapter.php | 3 +- .../src/DTO/Settings/MetricsDTO.php | 1 - .../src/DTO/Settings/OrdersDTO.php | 1 - .../src/DTO/Settings/StoreDTO.php | 1 - .../src/DTO/Settings/TelegramDTO.php | 1 - .../src/DTO/Settings/TextsDTO.php | 1 - .../src/Exceptions/CustomExceptionHandler.php | 2 +- .../src/Handlers/ProductsHandler.php | 2 +- .../src/Handlers/TelegramHandler.php | 2 +- .../src/Services/BlocksService.php | 2 +- .../src/Services/CartService.php | 44 +++-- .../src/Services/OrderCreateService.php | 4 +- .../src/Services/ProductsService.php | 4 +- .../Services/SettingsSerializerService.php | 12 +- .../src/Telegram/LinkCommand.php | 7 +- .../oc_telegram_shop/tests/TestCase.php | 13 ++ .../Unit/Framework/CriteriaBuilderTest.php | 2 + 66 files changed, 466 insertions(+), 337 deletions(-) create mode 100644 frontend/admin/src/components/LogsViewer.vue create mode 100644 frontend/admin/src/views/LogsView.vue mode change 100644 => 100755 module/oc_telegram_shop/upload/oc_telegram_shop/bastion/Handlers/DictionariesHandler.php create mode 100755 module/oc_telegram_shop/upload/oc_telegram_shop/bastion/Handlers/LogsHandler.php mode change 100644 => 100755 module/oc_telegram_shop/upload/oc_telegram_shop/bastion/Tasks/CleanUpOldAssets.php mode change 100644 => 100755 module/oc_telegram_shop/upload/oc_telegram_shop/configs/maintenance.php mode change 100644 => 100755 module/oc_telegram_shop/upload/oc_telegram_shop/database/migrations/.gitkeep mode change 100644 => 100755 module/oc_telegram_shop/upload/oc_telegram_shop/database/migrations/20260101000000_migrate_from_legacy_settings.php mode change 100644 => 100755 module/oc_telegram_shop/upload/oc_telegram_shop/database/migrations/20260101000001_create_telecart_cache_table.php mode change 100644 => 100755 module/oc_telegram_shop/upload/oc_telegram_shop/database/migrations/20260101000002_remove_legacy_files.php delete mode 100755 module/oc_telegram_shop/upload/oc_telegram_shop/framework/Logger/Logger.php delete mode 100755 module/oc_telegram_shop/upload/oc_telegram_shop/framework/Logger/LoggerInterface.php delete mode 100755 module/oc_telegram_shop/upload/oc_telegram_shop/framework/Logger/OpenCartLogAdapter.php mode change 100644 => 100755 module/oc_telegram_shop/upload/oc_telegram_shop/framework/MaintenanceTasks/BaseMaintenanceTask.php mode change 100644 => 100755 module/oc_telegram_shop/upload/oc_telegram_shop/framework/MaintenanceTasks/MaintenanceTaskInterface.php mode change 100644 => 100755 module/oc_telegram_shop/upload/oc_telegram_shop/framework/MaintenanceTasks/MaintenanceTasksService.php mode change 100644 => 100755 module/oc_telegram_shop/upload/oc_telegram_shop/framework/MaintenanceTasks/MaintenanceTasksServiceProvider.php mode change 100644 => 100755 module/oc_telegram_shop/upload/oc_telegram_shop/framework/Migrations/Migration.php mode change 100644 => 100755 module/oc_telegram_shop/upload/oc_telegram_shop/framework/Migrations/MigrationsServiceProvider.php mode change 100644 => 100755 module/oc_telegram_shop/upload/oc_telegram_shop/framework/Migrations/MigratorService.php mode change 100644 => 100755 module/oc_telegram_shop/upload/oc_telegram_shop/framework/Support/SupportServiceProvider.php mode change 100644 => 100755 module/oc_telegram_shop/upload/oc_telegram_shop/framework/Support/WorkLogsBag.php diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 6b04b35..e2e1cdd 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -6,6 +6,11 @@ on: - master - 'issue/**' - develop + pull_request: + types: + - opened + - synchronize + - reopened permissions: contents: write @@ -51,6 +56,22 @@ jobs: APP_ENV: testing run: ./vendor/bin/phpunit --testdox tests/Unit tests/Telegram + phpcs: + name: Run PHP_CodeSniffer + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Setup PHP 7.4 + uses: shivammathur/setup-php@v2 + with: + php-version: '7.4' + tools: phpcs + + - name: Run PHP_CodeSniffer + working-directory: module/oc_telegram_shop/upload/oc_telegram_shop + run: phpcs --standard=PSR12 bastion framework src + module-build: name: Build module. runs-on: ubuntu-latest diff --git a/Makefile b/Makefile index 26709a5..dd93338 100644 --- a/Makefile +++ b/Makefile @@ -46,6 +46,9 @@ dev-admin: lint: docker compose exec -w /module/oc_telegram_shop/upload/oc_telegram_shop web bash -c "./vendor/bin/phpstan analyse src framework" +phpcs: + docker compose exec -w /module/oc_telegram_shop/upload/oc_telegram_shop web bash -c "./vendor/bin/phpcs --standard=PSR12 bastion framework src" + test: docker compose exec -w /module/oc_telegram_shop/upload/oc_telegram_shop web bash -c "./vendor/bin/phpunit --testdox tests/" diff --git a/frontend/admin/src/App.vue b/frontend/admin/src/App.vue index 9776f3c..7983b1b 100644 --- a/frontend/admin/src/App.vue +++ b/frontend/admin/src/App.vue @@ -29,6 +29,10 @@
  • Главная страница
  • + +
  • + Журнал событий +
  • diff --git a/frontend/admin/src/assets/main.css b/frontend/admin/src/assets/main.css index 24a6b2c..8412c5b 100644 --- a/frontend/admin/src/assets/main.css +++ b/frontend/admin/src/assets/main.css @@ -1,9 +1,6 @@ @layer theme, base, components, utilities; @import "tailwindcss/theme.css" layer(theme) prefix(tw); @import "tailwindcss/utilities.css" layer(utilities) prefix(tw); -@plugin "daisyui" { - prefix: 'd-' -} @layer components { .tw\:d-toggle { @@ -24,7 +21,6 @@ html { font-size: 14px; } - .p-toast .p-toast-message-success { color: #3c763d; background-color: #dff0d8; diff --git a/frontend/admin/src/components/LogsViewer.vue b/frontend/admin/src/components/LogsViewer.vue new file mode 100644 index 0000000..9966591 --- /dev/null +++ b/frontend/admin/src/components/LogsViewer.vue @@ -0,0 +1,18 @@ +