Current File : //var/www/prestashop/src/PrestaShopBundle/Resources/config/services/adapter/product/_stock.yml
services:
  _defaults:
    public: true

  prestashop.adapter.product.stock.validate.stock_available_validator:
    class: PrestaShop\PrestaShop\Adapter\Product\Stock\Validate\StockAvailableValidator

  prestashop.adapter.product.stock.repository.stock_available_repository:
    class: PrestaShop\PrestaShop\Adapter\Product\Stock\Repository\StockAvailableRepository
    arguments:
      - '@doctrine.dbal.default_connection'
      - '%database_prefix%'
      - '@prestashop.adapter.product.stock.validate.stock_available_validator'

  prestashop.adapter.product.stock.repository.stock_available_multi_shop_repository:
    class: PrestaShop\PrestaShop\Adapter\Product\Stock\Repository\StockAvailableMultiShopRepository
    arguments:
      - '@doctrine.dbal.default_connection'
      - '%database_prefix%'
      - '@prestashop.adapter.product.stock.validate.stock_available_validator'

  prestashop.adapter.product.stock.repository.stock_movement_repository:
    class: PrestaShop\PrestaShop\Adapter\Product\Stock\Repository\StockMovementRepository
    arguments:
      - '@doctrine.dbal.default_connection'
      - '%database_prefix%'

  prestashop.adapter.product.stock.repository.movement_reason_repository:
    class: PrestaShop\PrestaShop\Adapter\Product\Stock\Repository\MovementReasonRepository
    arguments:
      - '@prestashop.adapter.legacy.configuration'

  prestashop.adapter.product.stock.command_handler.update_product_stock_information_handler:
    class: PrestaShop\PrestaShop\Adapter\Product\Stock\CommandHandler\UpdateProductStockInformationHandler
    arguments:
      - '@prestashop.adapter.product.stock.update.product_stock_updater'
      - '@prestashop.adapter.product.stock.repository.movement_reason_repository'
      - '@prestashop.adapter.product.combination.repository.combination_repository'
    tags:
      - name: tactician.handler
        command: PrestaShop\PrestaShop\Core\Domain\Product\Stock\Command\UpdateProductStockInformationCommand

  prestashop.adapter.product.stock.query_handler.get_product_stock_movement_handler:
    class: PrestaShop\PrestaShop\Adapter\Product\Stock\QueryHandler\GetEmployeesStockMovementsHandler
    arguments:
      - '@prestashop.adapter.product.stock.repository.stock_available_multi_shop_repository'
      - '@prestashop.adapter.product.stock.repository.stock_movement_repository'
    tags:
      - name: tactician.handler
        command: PrestaShop\PrestaShop\Core\Domain\Product\Stock\Query\GetEmployeesStockMovements

  prestashop.adapter.product.stock.update.product_stock_updater:
    class: PrestaShop\PrestaShop\Adapter\Product\Stock\Update\ProductStockUpdater
    arguments:
      - '@prestashop.core.stock.stock_manager'
      - '@prestashop.adapter.product.repository.product_multi_shop_repository'
      - '@prestashop.adapter.product.stock.repository.stock_available_multi_shop_repository'
      - '@prestashop.adapter.product.stock.repository.movement_reason_repository'
      - '@prestashop.adapter.legacy.configuration'