services:
  _defaults:
    autowire: true
    autoconfigure: true
    public: false

  extbaseSettings.DrbeckmannProducts.ProductTeaser:
    class: 'array'
    factory:
      - '@TYPO3\CMS\Extbase\Configuration\ConfigurationManager'
      - 'getConfiguration'
    arguments:
      $configurationType: 'Settings'
      $extensionName: 'DrbeckmannProducts'
      $pluginName: 'ProductTeaser'

  extbaseSettings.DrbeckmannProducts.StainDetective:
    class: 'array'
    factory:
      - '@TYPO3\CMS\Extbase\Configuration\ConfigurationManager'
      - 'getConfiguration'
    arguments:
      $configurationType: 'Settings'
      $extensionName: 'DrbeckmannProducts'
      $pluginName: 'StainDetective'

  WebitDe\DrbeckmannProducts\:
    resource: '../Classes/*'

  WebitDe\DrbeckmannProducts\Controller\ProductController:
    arguments:
      $productService: '@WebitDe\DrbeckmannProducts\Service\ProductService'
      $websiteSettingsService: '@WebitDe\DrbeckmannWebsitesettings\Service\WebsiteSettingsService'
      $faqService: '@WebitDe\DrbeckmannFaq\Service\FaqService'
      $context: '@TYPO3\CMS\Core\Context\Context'
      $categoryService: '@WebitDe\DrbeckmannProducts\Service\CategoryService'

  WebitDe\DrbeckmannProducts\Controller\StainDetectiveController:
    arguments:
      $stainDetectiveService: '@WebitDe\DrbeckmannProducts\Service\StainDetectiveService'

  WebitDe\DrbeckmannProducts\Service\ProductService:
    public: true
    arguments:
      $productRepository: '@WebitDe\DrbeckmannProducts\Domain\Repository\ProductRepository'
      $categoryRepository: '@WebitDe\DrbeckmannProducts\Domain\Repository\CategoryRepository'

  WebitDe\DrbeckmannProducts\Service\CategoryService:
    public: true
    arguments:
      $categoryRepository: '@WebitDe\DrbeckmannProducts\Domain\Repository\CategoryRepository'

  WebitDe\DrbeckmannProducts\Service\StainDetectiveService:
    public: true
    arguments:
      $productRepository: '@WebitDe\DrbeckmannProducts\Domain\Repository\ProductRepository'
      $filterRepository: '@WebitDe\DrbeckmannProducts\Domain\Repository\StainDetectiveFilterRepository'
      $settings: '@extbaseSettings.DrbeckmannProducts.StainDetective'
