Skip to content

Commit

Permalink
Refactor plugin method from around to after plugin
Browse files Browse the repository at this point in the history
  • Loading branch information
jbclaudio committed Jan 8, 2025
1 parent db32ad3 commit 16d5923
Showing 1 changed file with 4 additions and 22 deletions.
26 changes: 4 additions & 22 deletions Plugin/Job/Product.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,15 @@

namespace JustBetter\AkeneoBundle\Plugin\Job;

use Akeneo\Connector\Helper\Config as ConfigHelper;
use Akeneo\Connector\Job\Product as AkeneoProduct;
use Akeneo\Connector\Model\Source\Filters\Family;
use Akeneo\Connector\Model\Source\Filters\Mode;
use Magento\Framework\App\Config\ScopeConfigInterface;

class Product
{
public const PRODUCTS_FILTERS_EXCLUDED_FAMILIES = 'akeneo_connector/products_filters/excluded_families';

public function __construct(
protected ConfigHelper $configHelper,
protected ScopeConfigInterface $scopeConfig,
protected Family $familyFilter
) {
Expand All @@ -24,28 +21,13 @@ public function getFamiliesToExport(): ?string
return $this->scopeConfig->getValue(self::PRODUCTS_FILTERS_EXCLUDED_FAMILIES);
}

public function aroundGetFamiliesToImport(
public function afterGetFamiliesToImport(
AkeneoProduct $subject,
callable $proceed
array $result
): array {
$families = [];
$families = $result;
$familiesToExclude = explode(',', $this->getFamiliesToExport());

$mode = $this->configHelper->getFilterMode();

if ($mode == Mode::ADVANCED && empty($this->configHelper->getFamiliesFilter())) {
$paginationSize = $this->configHelper->getPaginationSize();
$apiFamilies = $subject->getAkeneoClient()->getFamilyApi()->all($paginationSize);

foreach ($apiFamilies as $family) {
if (isset($family['code'])) {
$families[] = $family['code'];
}
}
} else {
$families = $proceed();
}


if (!$families || $families[0] === '') {
$families = array_values($this->familyFilter->getFamilies() ?? []);
}
Expand Down

0 comments on commit 16d5923

Please sign in to comment.