6 declare(strict_types=1);
26 private $unassignValidator;
31 private $bulkSourceUnassign;
36 private $sourceIndexer;
41 private $legacyIndexer;
46 private $defaultSourceProvider;
51 private $getProductIdsBySkus;
65 BulkSourceUnassignResource $bulkSourceUnassign,
71 $this->unassignValidator = $unassignValidator;
72 $this->bulkSourceUnassign = $bulkSourceUnassign;
73 $this->sourceIndexer = $sourceIndexer;
74 $this->legacyIndexer = $legacyIndexer;
76 $this->getProductIdsBySkus = $getProductIdsBySkus;
84 private function reindexLegacy(array
$skus): void
96 $validationResult = $this->unassignValidator->validate(
$skus, $sourceCodes);
97 if (!$validationResult->isValid()) {
101 $res = $this->bulkSourceUnassign->execute(
$skus, $sourceCodes);
103 $this->sourceIndexer->executeList($sourceCodes);
104 if (in_array($this->defaultSourceProvider->getCode(), $sourceCodes,
true)) {
105 $this->reindexLegacy(
$skus);
__construct(BulkSourceUnassignValidatorInterface $unassignValidator, BulkSourceUnassignResource $bulkSourceUnassign, DefaultSourceProviderInterface $defaultSourceProvider, GetProductIdsBySkus $getProductIdsBySkus, SourceIndexer $sourceIndexer, LegacyIndexer $legacyIndexer)
execute(array $skus, array $sourceCodes)
foreach($websiteCodes as $websiteCode) $skus