GetData.php 1.4 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\InventoryLowQuantityNotification\Model\ResourceModel\SourceItemConfiguration;
  8. use Magento\Framework\App\ResourceConnection;
  9. use Magento\InventoryLowQuantityNotificationApi\Api\Data\SourceItemConfigurationInterface;
  10. /**
  11. * Get configuration data for specific source item
  12. */
  13. class GetData
  14. {
  15. /**
  16. * @var ResourceConnection
  17. */
  18. private $resourceConnection;
  19. /**
  20. * @param ResourceConnection $resourceConnection
  21. */
  22. public function __construct(ResourceConnection $resourceConnection)
  23. {
  24. $this->resourceConnection = $resourceConnection;
  25. }
  26. /**
  27. * @param string $sourceCode
  28. * @param string $sku
  29. * @return array|null
  30. */
  31. public function execute(string $sourceCode, string $sku)
  32. {
  33. $connection = $this->resourceConnection->getConnection();
  34. $sourceItemConfigurationTable = $this->resourceConnection
  35. ->getTableName('inventory_low_stock_notification_configuration');
  36. $select = $connection->select()
  37. ->from($sourceItemConfigurationTable)
  38. ->where(SourceItemConfigurationInterface::SOURCE_CODE . ' = ?', $sourceCode)
  39. ->where(SourceItemConfigurationInterface::SKU . ' = ?', $sku);
  40. $row = $connection->fetchRow($select);
  41. return $row ? $row : null;
  42. }
  43. }