<?php declare(strict_types=1);
namespace Onedot\Asus;
use Onedot\Asus\Lifecycle\ActivateDeactivate;
use Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\EqualsFilter;
use Shopware\Core\Framework\DataAbstractionLayer\Search\Criteria;
use Shopware\Core\Framework\Plugin;
use Shopware\Core\Framework\Plugin\Context\ActivateContext;
use Shopware\Core\Framework\Plugin\Context\UpdateContext;
use Shopware\Storefront\Framework\ThemeInterface;
class Asus extends Plugin implements ThemeInterface
{
public function activate(ActivateContext $activateContext): void
{
$customFieldSetCriteria = new Criteria();
$customFieldSetCriteria->addFilter(new EqualsFilter('name', 'onedot_asus_product'));
if( !$this->container->get('custom_field_set.repository')->searchIds($customFieldSetCriteria, $activateContext->getContext())->firstId() ){
(new ActivateDeactivate($this->container->get('custom_field_set.repository')))
->activate($activateContext);
}
}
public function update(UpdateContext $updateContext): void
{
$customFieldSetCriteria = new Criteria();
$customFieldSetCriteria->addFilter(new EqualsFilter('name', 'onedot_asus_product'));
if( !$this->container->get('custom_field_set.repository')->searchIds($customFieldSetCriteria, $updateContext->getContext())->firstId() ) {
(new ActivateDeactivate($this->container->get('custom_field_set.repository')))
->activate($updateContext);
}
}
}