CreateDefaultStock.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  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\InventoryCatalog\Setup\Operation;
  8. use Magento\Framework\App\ResourceConnection;
  9. use Magento\InventoryApi\Api\Data\StockInterface;
  10. use Magento\InventoryCatalogApi\Api\DefaultStockProviderInterface;
  11. /**
  12. * Create default stock during installation
  13. */
  14. class CreateDefaultStock
  15. {
  16. /**
  17. * @var DefaultStockProviderInterface
  18. */
  19. private $defaultStockProvider;
  20. /**
  21. * @var ResourceConnection
  22. */
  23. private $resource;
  24. /**
  25. * @param DefaultStockProviderInterface $defaultStockProvider
  26. * @param ResourceConnection $resource
  27. */
  28. public function __construct(
  29. DefaultStockProviderInterface $defaultStockProvider,
  30. ResourceConnection $resource
  31. ) {
  32. $this->defaultStockProvider = $defaultStockProvider;
  33. $this->resource = $resource;
  34. }
  35. /**
  36. * Create default stock
  37. *
  38. * @return void
  39. */
  40. public function execute()
  41. {
  42. $connection = $this->resource->getConnection();
  43. $stockData = [
  44. StockInterface::STOCK_ID => $this->defaultStockProvider->getId(),
  45. StockInterface::NAME => 'Default Stock',
  46. ];
  47. $connection->insert($this->resource->getTableName('inventory_stock'), $stockData);
  48. }
  49. }