services:
  _defaults:
    public: true

  PrestaShop\PrestaShop\Adapter\Product\Stock\Validate\StockAvailableValidator: ~

  PrestaShop\PrestaShop\Adapter\Product\Stock\Repository\StockAvailableRepository:
    autowire: true
    public: false
    arguments:
      - '@doctrine.dbal.default_connection'
      - '%database_prefix%'

  PrestaShop\PrestaShop\Adapter\Product\Stock\Repository\StockMovementRepository:
    arguments:
      - '@doctrine.dbal.default_connection'
      - '%database_prefix%'

  PrestaShop\PrestaShop\Adapter\Product\Stock\Repository\MovementReasonRepository:
    arguments:
      - '@PrestaShop\PrestaShop\Core\ConfigurationInterface'

  PrestaShop\PrestaShop\Adapter\Product\Stock\QueryHandler\GetProductStockMovementsHandler:
    arguments:
      - '@PrestaShop\PrestaShop\Adapter\Product\Stock\Repository\StockAvailableRepository'
      - '@PrestaShop\PrestaShop\Adapter\Product\Stock\Repository\StockMovementRepository'
      - '@translator'
    tags:
      - name: tactician.handler
        command: PrestaShop\PrestaShop\Core\Domain\Product\Stock\Query\GetProductStockMovements

  PrestaShop\PrestaShop\Adapter\Product\Stock\QueryHandler\GetCombinationStockMovementsHandler:
    arguments:
      - '@PrestaShop\PrestaShop\Adapter\Product\Stock\Repository\StockAvailableRepository'
      - '@PrestaShop\PrestaShop\Adapter\Product\Stock\Repository\StockMovementRepository'
      - '@translator'
    tags:
      - name: tactician.handler
        command: PrestaShop\PrestaShop\Core\Domain\Product\Stock\Query\GetCombinationStockMovements

  PrestaShop\PrestaShop\Adapter\Product\Stock\Update\ProductStockUpdater:
    autowire: true
    public: false
