<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\InventoryIndexer\Plugin\InventoryApi; use Magento\Framework\Indexer\IndexerRegistry; use Magento\InventoryApi\Api\StockSourceLinksDeleteInterface; use Magento\InventoryIndexer\Indexer\InventoryIndexer; /** * Invalidate index after source links have been deleted. */ class InvalidateAfterStockSourceLinksDeletePlugin { /** * @var IndexerRegistry */ private $indexerRegistry; /** * @param IndexerRegistry $indexerRegistry */ public function __construct( IndexerRegistry $indexerRegistry ) { $this->indexerRegistry = $indexerRegistry; } /** * @param StockSourceLinksDeleteInterface $subject * @param void $result * @return void * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function afterExecute( StockSourceLinksDeleteInterface $subject, $result ) { $indexer = $this->indexerRegistry->get(InventoryIndexer::INDEXER_ID); if ($indexer->isValid()) { $indexer->invalidate(); } } }