<?php declare(strict_types=1);
namespace Acris\RuleSurchargeDiscount\Storefront\Subscriber;
use Shopware\Core\Content\Rule\RuleEvents;
use Shopware\Core\Framework\Adapter\Cache\CacheInvalidator;
use Shopware\Core\Framework\DataAbstractionLayer\Event\EntityWrittenEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class SurchargeDiscountTagSubscriber implements EventSubscriberInterface
{
const ACRIS_SURCHARGE_DISCOUNT_ENTITY = 'acris-rule-s-d';
const SURCHARGE_DISCOUNT_WRITTEN_EVENT = 'acris_rule_s_d.written';
private CacheInvalidator $logger;
public function __construct(
CacheInvalidator $logger
)
{
$this->logger = $logger;
}
public static function getSubscribedEvents()
{
return [
self::SURCHARGE_DISCOUNT_WRITTEN_EVENT => 'onEntityWritten'
];
}
public function onEntityWritten(EntityWrittenEvent $event)
{
$this->logger->invalidate([self::ACRIS_SURCHARGE_DISCOUNT_ENTITY], true);
}
}