init
This commit is contained in:
+33
@@ -0,0 +1,33 @@
|
||||
# PHP
|
||||
vendor/
|
||||
composer.phar
|
||||
.phpunit.result.cache
|
||||
.phpunit.cache/
|
||||
.php-cs-fixer.cache
|
||||
|
||||
# Symfony / Shopware
|
||||
/var/
|
||||
/public/bundles/
|
||||
/public/assets/
|
||||
/custom/
|
||||
/src/Shopware/Platform
|
||||
|
||||
# Environment
|
||||
.env
|
||||
.env.local
|
||||
.env.*.local
|
||||
|
||||
# Agent skills (symlinked via skills.sh, tracked through skills-lock.json)
|
||||
/.agents/
|
||||
/.claude/
|
||||
/.qwen/
|
||||
/.opencode/
|
||||
|
||||
# IDE
|
||||
.idea/
|
||||
.vscode/
|
||||
*.swp
|
||||
|
||||
# OS
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
@@ -0,0 +1,65 @@
|
||||
{
|
||||
"name": "aeon/dump-manager",
|
||||
"description": "Export database dumps for Shopware 6 environments.",
|
||||
"type": "shopware-platform-plugin",
|
||||
"license": "MIT",
|
||||
"version": "0.0.1",
|
||||
"keywords": [
|
||||
"shopware",
|
||||
"shopware6",
|
||||
"plugin",
|
||||
"dump",
|
||||
"database",
|
||||
"developer-tools"
|
||||
],
|
||||
"homepage": "https://git.arthurerlich.de/haylan/AeonDumpManager",
|
||||
"authors": [
|
||||
{
|
||||
"name": "Arthur Erlich",
|
||||
"homepage": "https://arthurerlich.de",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://git.arthurerlich.de/haylan/AeonDumpManager/issues",
|
||||
"source": "https://git.arthurerlich.de/haylan/AeonDumpManager"
|
||||
},
|
||||
"require": {
|
||||
"php": "^8.1",
|
||||
"shopware/core": "~6.6.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^10.0"
|
||||
},
|
||||
"extra": {
|
||||
"shopware-plugin-class": "AeonDumpManager\\AeonDumpManager",
|
||||
"copyright": "(c) by Arthur Erlich",
|
||||
"label": {
|
||||
"de-DE": "Aeon Dump Manager",
|
||||
"en-GB": "Aeon Dump Manager"
|
||||
},
|
||||
"description": {
|
||||
"de-DE": "Verwaltet Datenbank-Dumps für Shopware 6 Entwicklungsumgebungen.",
|
||||
"en-GB": "Manages database dumps for Shopware 6 development environments."
|
||||
},
|
||||
"manufacturerLink": {
|
||||
"de-DE": "https://arthurerlich.de",
|
||||
"en-GB": "https://arthurerlich.de"
|
||||
},
|
||||
"supportLink": {
|
||||
"de-DE": "https://git.arthurerlich.de/haylan/AeonDumpManager/issues",
|
||||
"en-GB": "https://git.arthurerlich.de/haylan/AeonDumpManager/issues"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"AeonDumpManager\\": "src/"
|
||||
}
|
||||
},
|
||||
"autoload-dev": {
|
||||
"psr-4": {
|
||||
"AeonDumpManager\\Tests\\": "tests/"
|
||||
}
|
||||
},
|
||||
"minimum-stability": "stable"
|
||||
}
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd"
|
||||
bootstrap="tests/TestBootstrap.php"
|
||||
executionOrder="random">
|
||||
<coverage>
|
||||
<include>
|
||||
<directory>./src/</directory>
|
||||
</include>
|
||||
</coverage>
|
||||
<php>
|
||||
<ini name="error_reporting" value="-1"/>
|
||||
<server name="KERNEL_CLASS" value="Shopware\Core\Kernel"/>
|
||||
<env name="APP_ENV" value="test"/>
|
||||
<env name="APP_DEBUG" value="1"/>
|
||||
<env name="SYMFONY_DEPRECATIONS_HELPER" value="weak"/>
|
||||
</php>
|
||||
<testsuites>
|
||||
<testsuite name="AeonDumpManager Testsuite">
|
||||
<directory>tests</directory>
|
||||
</testsuite>
|
||||
</testsuites>
|
||||
</phpunit>
|
||||
@@ -0,0 +1,269 @@
|
||||
{
|
||||
"version": 1,
|
||||
"skills": {
|
||||
"symfony:api-platform-dto-resources": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/api-platform-dto-resources/SKILL.md",
|
||||
"computedHash": "0b5a49ef3b26381320570fc65262fe60f467869af7e9f34ea4b0f48762af2512"
|
||||
},
|
||||
"symfony:api-platform-filters": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/api-platform-filters/SKILL.md",
|
||||
"computedHash": "b0a911aeb39f7e9788470356ebbab960d2a025da92452ee508e67192a387d020"
|
||||
},
|
||||
"symfony:api-platform-resources": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/api-platform-resources/SKILL.md",
|
||||
"computedHash": "5d313ce0217ef198c5543728c4d0672c48fe1e9f0f0ffe8ae89e07c5c3cf30fb"
|
||||
},
|
||||
"symfony:api-platform-security": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/api-platform-security/SKILL.md",
|
||||
"computedHash": "0c7a91b33c470450a699940c083cccea5256ea28a83b4a0acffd8575fedee4ec"
|
||||
},
|
||||
"symfony:api-platform-serialization": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/api-platform-serialization/SKILL.md",
|
||||
"computedHash": "658ead8e467c493e429e39f4ff5465ecece42fdb49a2abbba708fd42535d4223"
|
||||
},
|
||||
"symfony:api-platform-state-providers": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/api-platform-state-providers/SKILL.md",
|
||||
"computedHash": "2ef06b1eba9cc3619d3d50bb5c48f313d0d864d1cd18fef3767d5e3e705a8706"
|
||||
},
|
||||
"symfony:api-platform-tests": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/api-platform-tests/SKILL.md",
|
||||
"computedHash": "351654fffb8b216acca349ff18053f4fdfba630f1678f8827a7ab3faeea258c8"
|
||||
},
|
||||
"symfony:api-platform-versioning": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/api-platform-versioning/SKILL.md",
|
||||
"computedHash": "0249c23a63075fb29bea006561b873f56530838505cc6c2d56c6c75b0630271a"
|
||||
},
|
||||
"symfony:bootstrap-check": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/bootstrap-check/SKILL.md",
|
||||
"computedHash": "b0770d00e974d3077f0dbab3aaab5b644a67cce72f099a9363fd68a6e7262b43"
|
||||
},
|
||||
"symfony:brainstorming": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/brainstorming/SKILL.md",
|
||||
"computedHash": "33d085759b6c70252df183c9589e86d1819807b371d3cbc08a7629469dc5b024"
|
||||
},
|
||||
"symfony:config-env-parameters": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/config-env-parameters/SKILL.md",
|
||||
"computedHash": "29c30ab73cf591f6940991e1e297836499e1760d390d0fea4faffbf9bc0d42d0"
|
||||
},
|
||||
"symfony:controller-cleanup": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/controller-cleanup/SKILL.md",
|
||||
"computedHash": "e581ac4fa9f7e59035e17a96cdb306ae6fb4c1fe2bb2ddea75fbc8b3c61b7a7f"
|
||||
},
|
||||
"symfony:cqrs-and-handlers": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/cqrs-and-handlers/SKILL.md",
|
||||
"computedHash": "eae9fd4fb0ba0e470e460c5bd5c64064a4a06b64b52398d199c54eb58fe283bc"
|
||||
},
|
||||
"symfony:daily-workflow": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/daily-workflow/SKILL.md",
|
||||
"computedHash": "de275687dca8eaec1c7f28f395494585a6ebb56dd2fcadfce16ccd9730db3ab2"
|
||||
},
|
||||
"symfony:doctrine-batch-processing": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/doctrine-batch-processing/SKILL.md",
|
||||
"computedHash": "1c25ad982501efe1e1284f94e89661e83eaf67e60f6e9a86e021c2c8b8c65885"
|
||||
},
|
||||
"symfony:doctrine-events": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/doctrine-events/SKILL.md",
|
||||
"computedHash": "0543f6b3a9077b53624fb034cf88a5aadc57e14b37138c82beaa13fdad155fe9"
|
||||
},
|
||||
"symfony:doctrine-fetch-modes": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/doctrine-fetch-modes/SKILL.md",
|
||||
"computedHash": "8020117b42ddc00e9165ca9cf9cd7e1e2d0cf688fb5fdd10a82b05a91bd0fe5e"
|
||||
},
|
||||
"symfony:doctrine-fixtures-foundry": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/doctrine-fixtures-foundry/SKILL.md",
|
||||
"computedHash": "dbaa95893400a1be733ff779539986ba52fdd8431e9c5298fcaad1d69c9053a7"
|
||||
},
|
||||
"symfony:doctrine-migrations": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/doctrine-migrations/SKILL.md",
|
||||
"computedHash": "f567cc35a98fe8ac6e6632d4da5990f974d4028c9517672586c42a3528861425"
|
||||
},
|
||||
"symfony:doctrine-relations": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/doctrine-relations/SKILL.md",
|
||||
"computedHash": "cecba41492de5efed7b2b0d53c3d198c79c063d5232e18e3ce7b6342cecac69d"
|
||||
},
|
||||
"symfony:doctrine-transactions": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/doctrine-transactions/SKILL.md",
|
||||
"computedHash": "1682b0b3fa1dc53db39471751467528d132bd72842b9d9e5d4c1dcb28bfcd1a2"
|
||||
},
|
||||
"symfony:e2e-panther-playwright": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/e2e-panther-playwright/SKILL.md",
|
||||
"computedHash": "37071992ee5e27b3c0922f509d1ff0708912ec17f9149e81f4befd2f7d246284"
|
||||
},
|
||||
"symfony:effective-context": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/effective-context/SKILL.md",
|
||||
"computedHash": "1e5fa157148bde5a3e48b7f2c275880e915781e43667d8b621cc1acdcafd04d9"
|
||||
},
|
||||
"symfony:executing-plans": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/executing-plans/SKILL.md",
|
||||
"computedHash": "deff91ba8c9c68e7f1b63ae9c91638ebe14e63e9503cb48303a5e1aa0edea288"
|
||||
},
|
||||
"symfony:form-types-validation": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/form-types-validation/SKILL.md",
|
||||
"computedHash": "3c1264ac1883e8d332181128b9bf620ed32ddd443ade6c42abc35eee178dfd03"
|
||||
},
|
||||
"symfony:functional-tests": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/functional-tests/SKILL.md",
|
||||
"computedHash": "fe487c7a86acc172e4d2d9130d04f7377f3950ce654d095f64a25829b9811435"
|
||||
},
|
||||
"symfony:interfaces-and-autowiring": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/interfaces-and-autowiring/SKILL.md",
|
||||
"computedHash": "18efd79e2b99806aaf7e3311391191e3041fede2e347d474a3c592af5b6e43e7"
|
||||
},
|
||||
"symfony:messenger-retry-failures": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/messenger-retry-failures/SKILL.md",
|
||||
"computedHash": "760b7115b9c1c7c4ec0042b21d91bdd6a58ba9b451452485eae71e5057332e29"
|
||||
},
|
||||
"symfony:ports-and-adapters": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/ports-and-adapters/SKILL.md",
|
||||
"computedHash": "e426df4395f29814ab6e89b703cd961c303958c4a832a575550e563d1cf8300c"
|
||||
},
|
||||
"symfony:quality-checks": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/quality-checks/SKILL.md",
|
||||
"computedHash": "603a2a61a4515727f2de2a93d5ef7fcc6bb24da6b3d096f58724b81f18b437a4"
|
||||
},
|
||||
"symfony:rate-limiting": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/rate-limiting/SKILL.md",
|
||||
"computedHash": "061cdadeb1e21fb322712c9951a2dc09acc8613376faf1002951b151d7369862"
|
||||
},
|
||||
"symfony:runner-selection": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/runner-selection/SKILL.md",
|
||||
"computedHash": "238744ad7e55f67f29e3e0de838e8d675e4cf51a58fddc2056b0bf27b43c2b5d"
|
||||
},
|
||||
"symfony:strategy-pattern": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/strategy-pattern/SKILL.md",
|
||||
"computedHash": "fe487cd678da11650e325c8f28b29a81e84b4938cfe4e42641b68c7bb622d377"
|
||||
},
|
||||
"symfony:symfony-cache": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/symfony-cache/SKILL.md",
|
||||
"computedHash": "92bfade421c2190100ba603b9d0d05d260594be3b4725ba98a9c8963433d7a97"
|
||||
},
|
||||
"symfony:symfony-messenger": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/symfony-messenger/SKILL.md",
|
||||
"computedHash": "4f7d3772433a2a03d570a3957d0a84f7f3d86782b273c14a8a75dae3aceb1e4d"
|
||||
},
|
||||
"symfony:symfony-scheduler": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/symfony-scheduler/SKILL.md",
|
||||
"computedHash": "8978979cf09c166b3a68dc6f64f47f38ce805ef654f55c3e913e41fbee502096"
|
||||
},
|
||||
"symfony:symfony-voters": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/symfony-voters/SKILL.md",
|
||||
"computedHash": "c9e782244caedf9787041d001ba90383b02a6a0e03f4645a699f6cbc204637f6"
|
||||
},
|
||||
"symfony:tdd-with-pest": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/tdd-with-pest/SKILL.md",
|
||||
"computedHash": "c5eb112bf920982639a4ad5b5eec8341a97c31fa6d693b94cc28eb5ed01e6667"
|
||||
},
|
||||
"symfony:tdd-with-phpunit": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/tdd-with-phpunit/SKILL.md",
|
||||
"computedHash": "484f05f7a16bf1e161eb4d2770b693526eb156f2a7502ea5833f64f5ef83e233"
|
||||
},
|
||||
"symfony:test-doubles-mocking": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/test-doubles-mocking/SKILL.md",
|
||||
"computedHash": "943d6a81a333d1a3a454510cf972c38181428a6d6186d1a19cfbe99ea7ffe3e1"
|
||||
},
|
||||
"symfony:twig-components": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/twig-components/SKILL.md",
|
||||
"computedHash": "ee7c1f99558ff8d28bbbb92fe47c41abc772ac76ef512ce645dbb88956cc20e5"
|
||||
},
|
||||
"symfony:using-symfony-superpowers": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/using-symfony-superpowers/SKILL.md",
|
||||
"computedHash": "8666a5b730f5cd8d1b66d07bfdf2afee3bdf0b41acc2a3d699a2bcff55c4151b"
|
||||
},
|
||||
"symfony:value-objects-and-dtos": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/value-objects-and-dtos/SKILL.md",
|
||||
"computedHash": "6db6bab1d41959b7e31ca3f5793548e057765b0bd1768b3f584357f49b7a92bb"
|
||||
},
|
||||
"symfony:writing-plans": {
|
||||
"source": "dev-toolings/superpowers-symfony",
|
||||
"sourceType": "github",
|
||||
"skillPath": "skills/writing-plans/SKILL.md",
|
||||
"computedHash": "13387e37e27958478548530a78d130b8cc31fddc9f2903525e07ae1d3c7e80c0"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
<?php declare(strict_types=1);
|
||||
|
||||
namespace AeonDumpManager;
|
||||
|
||||
use Shopware\Core\Framework\Plugin;
|
||||
use Shopware\Core\Framework\Plugin\Context\ActivateContext;
|
||||
use Shopware\Core\Framework\Plugin\Context\DeactivateContext;
|
||||
use Shopware\Core\Framework\Plugin\Context\InstallContext;
|
||||
use Shopware\Core\Framework\Plugin\Context\UninstallContext;
|
||||
use Shopware\Core\Framework\Plugin\Context\UpdateContext;
|
||||
|
||||
class AeonDumpManager extends Plugin
|
||||
{
|
||||
public function install(InstallContext $installContext): void
|
||||
{
|
||||
// Do stuff such as creating a new payment method
|
||||
}
|
||||
|
||||
public function uninstall(UninstallContext $uninstallContext): void
|
||||
{
|
||||
parent::uninstall($uninstallContext);
|
||||
|
||||
if ($uninstallContext->keepUserData()) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Remove or deactivate the data created by the plugin
|
||||
}
|
||||
|
||||
public function activate(ActivateContext $activateContext): void
|
||||
{
|
||||
// Activate entities, such as a new payment method
|
||||
// Or create new entities here, because now your plugin is installed and active for sure
|
||||
}
|
||||
|
||||
public function deactivate(DeactivateContext $deactivateContext): void
|
||||
{
|
||||
// Deactivate entities, such as a new payment method
|
||||
// Or remove previously created entities
|
||||
}
|
||||
|
||||
public function update(UpdateContext $updateContext): void
|
||||
{
|
||||
// Update necessary stuff, mostly non-database related
|
||||
}
|
||||
|
||||
public function postInstall(InstallContext $installContext): void
|
||||
{
|
||||
}
|
||||
|
||||
public function postUpdate(UpdateContext $updateContext): void
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
<?php declare(strict_types=1);
|
||||
|
||||
namespace AeonDumpManager\Command;
|
||||
|
||||
use Symfony\Component\Console\Attribute\AsCommand;
|
||||
use Symfony\Component\Console\Command\Command;
|
||||
use Symfony\Component\Console\Input\InputInterface;
|
||||
use Symfony\Component\Console\Output\OutputInterface;
|
||||
|
||||
#[AsCommand(
|
||||
name: 'aeon:example',
|
||||
description: 'Add a short description for your command',
|
||||
)]
|
||||
class ExampleCommand extends Command
|
||||
{
|
||||
// Provides a description, printed out in bin/console
|
||||
protected function configure(): void
|
||||
{
|
||||
$this->setDescription('Does something very special.');
|
||||
}
|
||||
|
||||
// Actual code executed in the command
|
||||
protected function execute(InputInterface $input, OutputInterface $output): int
|
||||
{
|
||||
$output->writeln('It works!');
|
||||
|
||||
// Exit code 0 for success
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
// Import admin module
|
||||
import './module/swag-example';
|
||||
@@ -0,0 +1,49 @@
|
||||
// <plugin root>/src/Resources/app/administration/src/module/swag-example/index.js
|
||||
import './page/swag-example-list';
|
||||
import './page/swag-example-detail';
|
||||
import './page/swag-example-create';
|
||||
import deDE from './snippet/de-DE';
|
||||
import enGB from './snippet/en-GB';
|
||||
|
||||
Shopware.Module.register('swag-example', {
|
||||
type: 'plugin',
|
||||
name: 'Example',
|
||||
title: 'swag-example.general.mainMenuItemGeneral',
|
||||
description: 'sw-property.general.descriptionTextModule',
|
||||
color: '#ff3d58',
|
||||
icon: 'default-shopping-paper-bag-product',
|
||||
|
||||
snippets: {
|
||||
'de-DE': deDE,
|
||||
'en-GB': enGB
|
||||
},
|
||||
|
||||
routes: {
|
||||
list: {
|
||||
component: 'swag-example-list',
|
||||
path: 'list'
|
||||
},
|
||||
detail: {
|
||||
component: 'swag-example-detail',
|
||||
path: 'detail/:id',
|
||||
meta: {
|
||||
parentPath: 'swag.example.list'
|
||||
}
|
||||
},
|
||||
create: {
|
||||
component: 'swag-example-create',
|
||||
path: 'create',
|
||||
meta: {
|
||||
parentPath: 'swag.example.list'
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
navigation: [{
|
||||
label: 'swag-example.general.mainMenuItemGeneral',
|
||||
color: '#ff3d58',
|
||||
path: 'swag.example.list',
|
||||
icon: 'default-shopping-paper-bag-product',
|
||||
position: 100
|
||||
}]
|
||||
});
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"swag-example": {
|
||||
"general": {
|
||||
"mainMenuItemGeneral": "My custom module",
|
||||
"descriptionTextModule": "Manage this custom module here"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"swag-example": {
|
||||
"general": {
|
||||
"mainMenuItemGeneral": "My custom module",
|
||||
"descriptionTextModule": "Manage this custom module here"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/shopware/shopware/trunk/src/Core/System/SystemConfig/Schema/config.xsd">
|
||||
|
||||
<card>
|
||||
<title>Minimal configuration</title>
|
||||
|
||||
<input-field type="number">
|
||||
<name>maxDumps</name>
|
||||
<label>Maximum allowed dumps to exist</label>
|
||||
<defaultValue>6</defaultValue>
|
||||
</input-field>
|
||||
<input-field type="number">
|
||||
<name>retantionDays</name>
|
||||
<label>How many Days the dumps kept in the Storage. 0 Means unlimited</label>
|
||||
<defaultValue>0</defaultValue>
|
||||
</input-field>
|
||||
</card>
|
||||
|
||||
</config>
|
||||
@@ -0,0 +1,18 @@
|
||||
<?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>
|
||||
|
||||
<service id="AeonDumpManager\Command\ExampleCommand">
|
||||
<tag name="console.command"/>
|
||||
</service>
|
||||
|
||||
<service id="AeonDumpManager\ScheduledTask\ExampleTask">
|
||||
<tag name="shopware.scheduled.task"/>
|
||||
</service>
|
||||
|
||||
</services>
|
||||
</container>
|
||||
@@ -0,0 +1,18 @@
|
||||
<?php declare(strict_types=1);
|
||||
|
||||
namespace AeonDumpManager\ScheduledTask;
|
||||
|
||||
use Shopware\Core\Framework\MessageQueue\ScheduledTask\ScheduledTask;
|
||||
|
||||
class ExampleTask extends ScheduledTask
|
||||
{
|
||||
public static function getTaskName(): string
|
||||
{
|
||||
return 'swag.example_task';
|
||||
}
|
||||
|
||||
public static function getDefaultInterval(): int
|
||||
{
|
||||
return 300; // 5 minutes
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
<?php declare(strict_types=1);
|
||||
|
||||
use Shopware\Core\TestBootstrapper;
|
||||
|
||||
$loader = (new TestBootstrapper())
|
||||
->addCallingPlugin()
|
||||
->addActivePlugins('AeonDumpManager')
|
||||
->setForceInstallPlugins(true)
|
||||
->bootstrap()
|
||||
->getClassLoader();
|
||||
|
||||
$loader->addPsr4('AeonDumpManager\\Tests\\', __DIR__);
|
||||
Reference in New Issue
Block a user