Action.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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\Indexer\Mview;
  8. use Magento\Framework\Indexer\IndexerInterface;
  9. use Magento\Framework\Indexer\IndexerInterfaceFactory;
  10. use Magento\Framework\Mview\ActionInterface;
  11. use Magento\InventoryIndexer\Indexer\InventoryIndexer;
  12. /**
  13. * Execute materialization on entity ids
  14. *
  15. * Extension point for indexation
  16. *
  17. * @api
  18. */
  19. class Action implements ActionInterface
  20. {
  21. /**
  22. * @var IndexerInterfaceFactory
  23. */
  24. private $indexerFactory;
  25. /**
  26. * @param IndexerInterfaceFactory $indexerFactory
  27. */
  28. public function __construct(IndexerInterfaceFactory $indexerFactory)
  29. {
  30. $this->indexerFactory = $indexerFactory;
  31. }
  32. /**
  33. * Execute materialization on ids entities
  34. *
  35. * @param int[] $ids
  36. * @return void
  37. */
  38. public function execute($ids)
  39. {
  40. /** @var IndexerInterface $indexer */
  41. $indexer = $this->indexerFactory->create();
  42. $indexer->load(InventoryIndexer::INDEXER_ID);
  43. $indexer->reindexList($ids);
  44. }
  45. }