services:
  PrestaShop\Module\PsEventbus\Provider\ModuleDataProvider:
    class: PrestaShop\Module\PsEventbus\Provider\ModuleDataProvider
    public: true
    arguments:
      - '@PrestaShop\Module\PsEventbus\Repository\ModuleRepository'
      - '@PrestaShop\Module\PsEventbus\Repository\ShopRepository'

  PrestaShop\Module\PsEventbus\Provider\ProductSupplierDataProvider:
    class: PrestaShop\Module\PsEventbus\Provider\ProductSupplierDataProvider
    public: true
    arguments:
      - '@PrestaShop\Module\PsEventbus\Repository\ProductSupplierRepository'
      - '@PrestaShop\Module\PsEventbus\Decorator\ProductSupplierDecorator'

  PrestaShop\Module\PsEventbus\Provider\ProductDataProvider:
    class: PrestaShop\Module\PsEventbus\Provider\ProductDataProvider
    public: true
    arguments:
      - '@PrestaShop\Module\PsEventbus\Repository\ProductRepository'
      - '@PrestaShop\Module\PsEventbus\Decorator\ProductDecorator'
      - '@PrestaShop\Module\PsEventbus\Provider\ProductSupplierDataProvider'
      - '@PrestaShop\Module\PsEventbus\Repository\LanguageRepository'

  PrestaShop\Module\PsEventbus\Provider\CategoryDataProvider:
    class: PrestaShop\Module\PsEventbus\Provider\CategoryDataProvider
    public: true
    arguments:
      - '@PrestaShop\Module\PsEventbus\Repository\CategoryRepository'
      - '@PrestaShop\Module\PsEventbus\Decorator\CategoryDecorator'

  PrestaShop\Module\PsEventbus\Provider\CurrencyDataProvider:
    class: PrestaShop\Module\PsEventbus\Provider\CurrencyDataProvider
    public: true
    arguments:
      - '@PrestaShop\Module\PsEventbus\Repository\CurrencyRepository'
      - '@PrestaShop\Module\PsEventbus\Decorator\CurrencyDecorator'

  PrestaShop\Module\PsEventbus\Provider\CustomerDataProvider:
    class: PrestaShop\Module\PsEventbus\Provider\CustomerDataProvider
    public: true
    arguments:
      - '@PrestaShop\Module\PsEventbus\Repository\CustomerRepository'
      - '@PrestaShop\Module\PsEventbus\Decorator\CustomerDecorator'

  PrestaShop\Module\PsEventbus\Provider\OrderDataProvider:
    class: PrestaShop\Module\PsEventbus\Provider\OrderDataProvider
    public: true
    arguments:
      - "@ps_eventbus.context"
      - '@PrestaShop\Module\PsEventbus\Repository\OrderRepository'
      - '@PrestaShop\Module\PsEventbus\Repository\OrderDetailsRepository'
      - '@PrestaShop\Module\PsEventbus\Formatter\ArrayFormatter'
      - '@PrestaShop\Module\PsEventbus\Repository\OrderHistoryRepository'
      - '@PrestaShop\Module\PsEventbus\Repository\OrderCartRuleRepository'

  PrestaShop\Module\PsEventbus\Provider\CartDataProvider:
    class: PrestaShop\Module\PsEventbus\Provider\CartDataProvider
    public: true
    arguments:
      - '@PrestaShop\Module\PsEventbus\Repository\CartRepository'
      - '@PrestaShop\Module\PsEventbus\Repository\CartProductRepository'

  PrestaShop\Module\PsEventbus\Provider\CartRuleDataProvider:
    class: PrestaShop\Module\PsEventbus\Provider\CartRuleDataProvider
    public: true
    arguments:
      - '@PrestaShop\Module\PsEventbus\Repository\CartRuleRepository'

  PrestaShop\Module\PsEventbus\Provider\GoogleTaxonomyDataProvider:
    class: PrestaShop\Module\PsEventbus\Provider\GoogleTaxonomyDataProvider
    public: true
    arguments:
      - '@PrestaShop\Module\PsEventbus\Repository\GoogleTaxonomyRepository'
      - "@ps_eventbus.context"

  PrestaShop\Module\PsEventbus\Provider\CarrierDataProvider:
    class: PrestaShop\Module\PsEventbus\Provider\CarrierDataProvider
    public: true
    arguments:
      - '@PrestaShop\Module\PsEventbus\Repository\ConfigurationRepository'
      - '@PrestaShop\Module\PsEventbus\Builder\CarrierBuilder'
      - '@PrestaShop\Module\PsEventbus\Repository\CarrierRepository'
      - '@PrestaShop\Module\PsEventbus\Repository\LanguageRepository'

  PrestaShop\Module\PsEventbus\Provider\CustomPriceDataProvider:
    class: PrestaShop\Module\PsEventbus\Provider\CustomPriceDataProvider
    public: true
    arguments:
      - '@PrestaShop\Module\PsEventbus\Repository\CustomPriceRepository'
      - '@PrestaShop\Module\PsEventbus\Decorator\CustomPriceDecorator'

  PrestaShop\Module\PsEventbus\Provider\CustomProductCarrierDataProvider:
    class: PrestaShop\Module\PsEventbus\Provider\CustomProductCarrierDataProvider
    public: true
    arguments:
      - '@PrestaShop\Module\PsEventbus\Repository\ProductCarrierRepository'

  PrestaShop\Module\PsEventbus\Provider\WishlistDataProvider:
    class: PrestaShop\Module\PsEventbus\Provider\WishlistDataProvider
    public: true
    arguments:
      - '@PrestaShop\Module\PsEventbus\Repository\WishlistRepository'
      - '@PrestaShop\Module\PsEventbus\Repository\WishlistProductRepository'
      - '@PrestaShop\Module\PsEventbus\Decorator\WishlistDecorator'
      - '@PrestaShop\Module\PsEventbus\Formatter\ArrayFormatter'

  PrestaShop\Module\PsEventbus\Provider\StoreDataProvider:
    class: PrestaShop\Module\PsEventbus\Provider\StoreDataProvider
    public: true
    arguments:
      - '@PrestaShop\Module\PsEventbus\Repository\StoreRepository'
      - '@PrestaShop\Module\PsEventbus\Decorator\StoreDecorator'

  PrestaShop\Module\PsEventbus\Provider\StockDataProvider:
    class: PrestaShop\Module\PsEventbus\Provider\StockDataProvider
    public: true
    arguments:
      - '@PrestaShop\Module\PsEventbus\Repository\StockRepository'
      - '@PrestaShop\Module\PsEventbus\Repository\StockMvtRepository'
      - '@PrestaShop\Module\PsEventbus\Decorator\StockDecorator'
      - '@PrestaShop\Module\PsEventbus\Formatter\ArrayFormatter'

  PrestaShop\Module\PsEventbus\Provider\ManufacturerDataProvider:
    class: PrestaShop\Module\PsEventbus\Provider\ManufacturerDataProvider
    public: true
    arguments:
      - '@PrestaShop\Module\PsEventbus\Repository\ManufacturerRepository'
      - '@PrestaShop\Module\PsEventbus\Decorator\ManufacturerDecorator'

  PrestaShop\Module\PsEventbus\Provider\SupplierDataProvider:
    class: PrestaShop\Module\PsEventbus\Provider\SupplierDataProvider
    public: true
    arguments:
      - '@PrestaShop\Module\PsEventbus\Repository\SupplierRepository'
      - '@PrestaShop\Module\PsEventbus\Decorator\SupplierDecorator'

  PrestaShop\Module\PsEventbus\Provider\EmployeeDataProvider:
    class: PrestaShop\Module\PsEventbus\Provider\EmployeeDataProvider
    public: true
    arguments:
      - '@PrestaShop\Module\PsEventbus\Repository\EmployeeRepository'
      - '@PrestaShop\Module\PsEventbus\Decorator\EmployeeDecorator'

  PrestaShop\Module\PsEventbus\Provider\LanguageDataProvider:
    class: PrestaShop\Module\PsEventbus\Provider\LanguageDataProvider
    public: true
    arguments:
      - '@PrestaShop\Module\PsEventbus\Repository\LanguageRepository'
      - '@PrestaShop\Module\PsEventbus\Decorator\LanguageDecorator'


  PrestaShop\Module\PsEventbus\Provider\ImageDataProvider:
    class: PrestaShop\Module\PsEventbus\Provider\ImageDataProvider
    public: true
    arguments:
      - '@PrestaShop\Module\PsEventbus\Repository\ImageRepository'
      - '@PrestaShop\Module\PsEventbus\Decorator\ImageDecorator'

  PrestaShop\Module\PsEventbus\Provider\ImageTypeDataProvider:
    class: PrestaShop\Module\PsEventbus\Provider\ImageTypeDataProvider
    public: true
    arguments:
      - '@PrestaShop\Module\PsEventbus\Repository\ImageTypeRepository'
      - '@PrestaShop\Module\PsEventbus\Decorator\ImageTypeDecorator'

  PrestaShop\Module\PsEventbus\Provider\TranslationDataProvider:
    class: PrestaShop\Module\PsEventbus\Provider\TranslationDataProvider
    public: true
    arguments:
      - '@PrestaShop\Module\PsEventbus\Repository\TranslationRepository'
      - '@PrestaShop\Module\PsEventbus\Decorator\TranslationDecorator'

