feat(plugin): align with Shopware plugin guidelines
- add dedicated monolog channel aeon_dump_manager and log dump jobs - migrate services.xml/routes.php to YAML - require PHP ^8.2 - add extension icon and .config/shopware-extension.yml - drop empty lifecycle overrides Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
29974928d2
commit
8efaef2042
12 files changed
+155
-129
No files matched your search
@@ -0,0 +1,2 @@
|
||||
monolog:
|
||||
channels: ['aeon_dump_manager']
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 48 KiB |
@@ -1,7 +0,0 @@
|
||||
<?php declare(strict_types=1);
|
||||
|
||||
use Symfony\Component\Routing\Loader\Configurator\RoutingConfigurator;
|
||||
|
||||
return function (RoutingConfigurator $routes): void {
|
||||
$routes->import(__DIR__ . '/../../Controller/*Controller.php', 'attribute');
|
||||
};
|
||||
@@ -0,0 +1,3 @@
|
||||
aeon_dump_manager_controllers:
|
||||
resource: ../../Controller/*Controller.php
|
||||
type: attribute
|
||||
@@ -1,88 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<services>
|
||||
<!-- Services -->
|
||||
|
||||
<service id="Symfony\Component\Process\ExecutableFinder"/>
|
||||
|
||||
<service id="aeon_dump_manager.dump_filename_parser" class="AeonDumpManager\Service\DumpFilenameParser"/>
|
||||
|
||||
<service id="aeon_dump_manager.dump_binary_locator" class="AeonDumpManager\Service\DumpBinaryLocator">
|
||||
<argument type="service" id="Doctrine\DBAL\Connection"/>
|
||||
<argument type="service" id="Shopware\Core\System\SystemConfig\SystemConfigService"/>
|
||||
<argument type="service" id="Symfony\Component\Process\ExecutableFinder"/>
|
||||
</service>
|
||||
|
||||
<service id="aeon_dump_manager.dump_job_status_service" class="AeonDumpManager\Service\DumpJobStatusService">
|
||||
<argument type="service" id="Doctrine\DBAL\Connection"/>
|
||||
</service>
|
||||
|
||||
<service id="aeon_dump_manager.dump_lister" class="AeonDumpManager\Service\DumpLister">
|
||||
<argument type="service" id="aeon_dump_manager.filesystem.private"/>
|
||||
<argument type="service" id="aeon_dump_manager.dump_filename_parser"/>
|
||||
</service>
|
||||
|
||||
<service id="aeon_dump_manager.dump_service" class="AeonDumpManager\Service\DumpService">
|
||||
<argument type="service" id="aeon_dump_manager.dump_lister"/>
|
||||
<argument type="service" id="aeon_dump_manager.filesystem.private"/>
|
||||
<argument type="service" id="aeon_dump_manager.dump_binary_locator"/>
|
||||
<argument type="service" id="Doctrine\DBAL\Connection"/>
|
||||
<argument type="service" id="Shopware\Core\System\SystemConfig\SystemConfigService"/>
|
||||
<argument type="service" id="aeon_dump_manager.dump_filename_parser"/>
|
||||
</service>
|
||||
|
||||
<!-- Async create job -->
|
||||
|
||||
<service id="aeon_dump_manager.message_queue.create_dump_handler" class="AeonDumpManager\MessageQueue\Handler\CreateDumpHandler">
|
||||
<argument type="service" id="aeon_dump_manager.dump_service"/>
|
||||
<argument type="service" id="aeon_dump_manager.dump_job_status_service"/>
|
||||
<tag name="messenger.message_handler"/>
|
||||
</service>
|
||||
|
||||
<!-- Retention -->
|
||||
|
||||
<service id="aeon_dump_manager.scheduled_task.purge_dumps_task" class="AeonDumpManager\ScheduledTask\PurgeDumpsTask">
|
||||
<tag name="shopware.scheduled.task"/>
|
||||
</service>
|
||||
|
||||
<service id="aeon_dump_manager.scheduled_task.purge_dumps_task_handler" class="AeonDumpManager\ScheduledTask\PurgeDumpsTaskHandler">
|
||||
<argument type="service" id="scheduled_task.repository"/>
|
||||
<argument type="service" id="logger"/>
|
||||
<argument type="service" id="aeon_dump_manager.dump_service"/>
|
||||
<argument type="service" id="aeon_dump_manager.dump_job_status_service"/>
|
||||
<argument type="service" id="Shopware\Core\System\SystemConfig\SystemConfigService"/>
|
||||
<tag name="messenger.message_handler" handles="AeonDumpManager\ScheduledTask\PurgeDumpsTask"/>
|
||||
</service>
|
||||
|
||||
<!-- Console commands -->
|
||||
|
||||
<service id="aeon_dump_manager.command.dump_list" class="AeonDumpManager\Command\DumpListCommand">
|
||||
<argument type="service" id="aeon_dump_manager.dump_lister"/>
|
||||
<tag name="console.command"/>
|
||||
</service>
|
||||
|
||||
<service id="aeon_dump_manager.command.dump_create" class="AeonDumpManager\Command\DumpCreateCommand">
|
||||
<argument type="service" id="aeon_dump_manager.dump_service"/>
|
||||
<tag name="console.command"/>
|
||||
</service>
|
||||
|
||||
<service id="aeon_dump_manager.command.dump_remove" class="AeonDumpManager\Command\DumpRemoveCommand">
|
||||
<argument type="service" id="aeon_dump_manager.dump_service"/>
|
||||
<tag name="console.command"/>
|
||||
</service>
|
||||
|
||||
<!-- Admin API controller -->
|
||||
|
||||
<service id="AeonDumpManager\Controller\DumpController" public="true">
|
||||
<argument type="service" id="aeon_dump_manager.dump_lister"/>
|
||||
<argument type="service" id="aeon_dump_manager.dump_service"/>
|
||||
<argument type="service" id="aeon_dump_manager.dump_job_status_service"/>
|
||||
<argument type="service" id="messenger.default_bus"/>
|
||||
</service>
|
||||
|
||||
</services>
|
||||
</container>
|
||||
@@ -0,0 +1,92 @@
|
||||
services:
|
||||
Symfony\Component\Process\ExecutableFinder: ~
|
||||
|
||||
aeon_dump_manager.dump_filename_parser:
|
||||
class: AeonDumpManager\Service\DumpFilenameParser
|
||||
|
||||
aeon_dump_manager.dump_binary_locator:
|
||||
class: AeonDumpManager\Service\DumpBinaryLocator
|
||||
arguments:
|
||||
- '@Doctrine\DBAL\Connection'
|
||||
- '@Shopware\Core\System\SystemConfig\SystemConfigService'
|
||||
- '@Symfony\Component\Process\ExecutableFinder'
|
||||
|
||||
aeon_dump_manager.dump_job_status_service:
|
||||
class: AeonDumpManager\Service\DumpJobStatusService
|
||||
arguments:
|
||||
- '@Doctrine\DBAL\Connection'
|
||||
|
||||
aeon_dump_manager.dump_lister:
|
||||
class: AeonDumpManager\Service\DumpLister
|
||||
arguments:
|
||||
- '@aeon_dump_manager.filesystem.private'
|
||||
- '@aeon_dump_manager.dump_filename_parser'
|
||||
|
||||
aeon_dump_manager.dump_service:
|
||||
class: AeonDumpManager\Service\DumpService
|
||||
arguments:
|
||||
- '@aeon_dump_manager.dump_lister'
|
||||
- '@aeon_dump_manager.filesystem.private'
|
||||
- '@aeon_dump_manager.dump_binary_locator'
|
||||
- '@Doctrine\DBAL\Connection'
|
||||
- '@Shopware\Core\System\SystemConfig\SystemConfigService'
|
||||
- '@aeon_dump_manager.dump_filename_parser'
|
||||
- '@monolog.logger.aeon_dump_manager'
|
||||
|
||||
# Async create job
|
||||
aeon_dump_manager.message_queue.create_dump_handler:
|
||||
class: AeonDumpManager\MessageQueue\Handler\CreateDumpHandler
|
||||
arguments:
|
||||
- '@aeon_dump_manager.dump_service'
|
||||
- '@aeon_dump_manager.dump_job_status_service'
|
||||
- '@monolog.logger.aeon_dump_manager'
|
||||
tags:
|
||||
- { name: messenger.message_handler }
|
||||
|
||||
# Retention
|
||||
aeon_dump_manager.scheduled_task.purge_dumps_task:
|
||||
class: AeonDumpManager\ScheduledTask\PurgeDumpsTask
|
||||
tags:
|
||||
- { name: shopware.scheduled.task }
|
||||
|
||||
aeon_dump_manager.scheduled_task.purge_dumps_task_handler:
|
||||
class: AeonDumpManager\ScheduledTask\PurgeDumpsTaskHandler
|
||||
arguments:
|
||||
- '@scheduled_task.repository'
|
||||
- '@monolog.logger.aeon_dump_manager'
|
||||
- '@aeon_dump_manager.dump_service'
|
||||
- '@aeon_dump_manager.dump_job_status_service'
|
||||
- '@Shopware\Core\System\SystemConfig\SystemConfigService'
|
||||
tags:
|
||||
- { name: messenger.message_handler, handles: AeonDumpManager\ScheduledTask\PurgeDumpsTask }
|
||||
|
||||
# Console commands
|
||||
aeon_dump_manager.command.dump_list:
|
||||
class: AeonDumpManager\Command\DumpListCommand
|
||||
arguments:
|
||||
- '@aeon_dump_manager.dump_lister'
|
||||
tags:
|
||||
- { name: console.command }
|
||||
|
||||
aeon_dump_manager.command.dump_create:
|
||||
class: AeonDumpManager\Command\DumpCreateCommand
|
||||
arguments:
|
||||
- '@aeon_dump_manager.dump_service'
|
||||
tags:
|
||||
- { name: console.command }
|
||||
|
||||
aeon_dump_manager.command.dump_remove:
|
||||
class: AeonDumpManager\Command\DumpRemoveCommand
|
||||
arguments:
|
||||
- '@aeon_dump_manager.dump_service'
|
||||
tags:
|
||||
- { name: console.command }
|
||||
|
||||
# Admin API controller
|
||||
AeonDumpManager\Controller\DumpController:
|
||||
public: true
|
||||
arguments:
|
||||
- '@aeon_dump_manager.dump_lister'
|
||||
- '@aeon_dump_manager.dump_service'
|
||||
- '@aeon_dump_manager.dump_job_status_service'
|
||||
- '@messenger.default_bus'
|
||||
Reference in new issue
Block a user