<?php declare(strict_types=1);
namespace Wexo\Integration;
use Doctrine\DBAL\Connection;
use Shopware\Core\Framework\Plugin;
use Shopware\Core\Framework\Plugin\Context\UninstallContext;
class IntegrationBase extends Plugin
{
public const LOG_CHANNEL = 'integration';
public const INTEGRATION_ERROR = 'integration.error';
public const IMPORT_CATEGORY_ERROR = 'integration.import-category.error';
public const IMPORT_CUSTOMERS_ERROR = 'integration.import-customers.error';
public const IMPORT_DISCOUNTS_ERROR = 'integration.import-discounts.error';
public const IMPORT_PRICES_ERROR = 'integration.import-prices.error';
public const IMPORT_PRODUCTS_ERROR = 'integration.import-products.error';
public const DELETE_SALES_CHANNEL_VISIBILITY = 'integration.remove-sales-channel-visibility.error';
public const IMPORT_PROMOTIONS_ERROR = 'integration.import-promotions.error';
public const EXPORT_ORDER_ERROR = 'integration.export-order.error';
public const EXPORT_CUSTOMER_ERROR = 'integration.export-customer.error';
public const UPDATE_ORDER_ERROR = 'integration.update-order.error';
public const INVALID_CONFIG_ERROR = 'integration.invalid-config.error';
public const PROFILE_MAPPING_ERROR = 'integration.profile-mapping.error';
public const CONNECTION_ERROR = 'integration.connection.error';
public const CONFIG_PREFIX = 'IntegrationBase.config.';
public const CONTROLLER_DATA_ERROR = 'integration.controller.run.error';
public const CUSTOM_FIELD_PROPERTIES = 'integration_properties';
/**
* @param UninstallContext $uninstallContext
*/
public function uninstall(UninstallContext $uninstallContext): void
{
parent::uninstall($uninstallContext);
if ($uninstallContext->keepUserData()) {
return;
}
$connection = $this->container->get(Connection::class);
if (!$connection) {
return;
}
$connection->executeStatement("DROP TABLE IF EXISTS `wexo_integration`");
}
}