InvalidateAfterStockSourceLinksSavePlugin.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. declare(strict_types=1);
  7. namespace Magento\InventoryIndexer\Plugin\InventoryApi;
  8. use Magento\Framework\Indexer\IndexerRegistry;
  9. use Magento\InventoryApi\Api\StockSourceLinksSaveInterface;
  10. use Magento\InventoryIndexer\Indexer\InventoryIndexer;
  11. /**
  12. * Invalidate index after source links have been saved.
  13. */
  14. class InvalidateAfterStockSourceLinksSavePlugin
  15. {
  16. /**
  17. * @var IndexerRegistry
  18. */
  19. private $indexerRegistry;
  20. /**
  21. * @param IndexerRegistry $indexerRegistry
  22. */
  23. public function __construct(
  24. IndexerRegistry $indexerRegistry
  25. ) {
  26. $this->indexerRegistry = $indexerRegistry;
  27. }
  28. /**
  29. * @param StockSourceLinksSaveInterface $subject
  30. * @param void $result
  31. * @SuppressWarnings(PHPMD.UnusedFormalParameter)
  32. */
  33. public function afterExecute(
  34. StockSourceLinksSaveInterface $subject,
  35. $result
  36. ) {
  37. $indexer = $this->indexerRegistry->get(InventoryIndexer::INDEXER_ID);
  38. if ($indexer->isValid()) {
  39. $indexer->invalidate();
  40. }
  41. }
  42. }