parameters:

services:
  _defaults:
    public: true

  prestashop.module.lcvprestaconnector:
    class: LCVPrestaConnector
    factory: [Module, getInstanceByName]
    arguments:
      - 'lcvprestaconnector'

  # Commande CRON
  PrestaShop\Module\LCVPrestaConnector\Command\SyncCommand:
    public: true
    autowire: true
    autoconfigure: true
    arguments:
      - '@prestashop.module.lcvprestaconnector'
    tags:
      - { name: console.command }

  # Utilitaire
  PrestaShop\Module\LCVPrestaConnector\Command\SyncTools:
    public: true
    autowire: true
    autoconfigure: true
    arguments:
      - '@prestashop.module.lcvprestaconnector'
    tags:
      - { name: console.command }

  # Controllers
  lcvprestaconnector.twig_renderer:
    public: true
    autowire: true
    autoconfigure: true
    class: PrestaShop\Module\LCVPrestaConnector\Controller\TwigRenderer
    arguments:
      - '@twig'

  # Controllers    
  PrestaShop\Module\LCVPrestaConnector\Controller\CronAdminController:
    public: true
    autowire: true
    autoconfigure: true
    class: PrestaShop\Module\LCVPrestaConnector\Controller\CronAdminController    

  PrestaShop\Module\LCVPrestaConnector\Controller\CronAuthListener:
    arguments:
        - '@prestashop.adapter.legacy.context'
        - '@security.token_storage'
        - '@prestashop.security.admin.provider'
    tags:
      - { name: kernel.event_listener, event: kernel.request, method: onKernelRequest, priority: 1 }

  PrestaShop\Module\LCVPrestaConnector\Controller\ConfigurationAdminController:
    public: true
    autowire: true
    autoconfigure: true
    class: PrestaShop\Module\LCVPrestaConnector\Controller\ConfigurationAdminController    

  PrestaShop\Module\LCVPrestaConnector\Controller\ConfigurationAjaxAdminController:
    public: true
    autowire: true
    autoconfigure: true
    class: PrestaShop\Module\LCVPrestaConnector\Controller\ConfigurationAjaxAdminController    

  PrestaShop\Module\LCVPrestaConnector\Controller\MappageAdminController:
    public: true
    autowire: true
    autoconfigure: true
    class: PrestaShop\Module\LCVPrestaConnector\Controller\MappageAdminController    
  
  PrestaShop\Module\LCVPrestaConnector\Controller\ProductsMappingsAdminController:
    public: true
    autowire: true
    autoconfigure: true
    class: PrestaShop\Module\LCVPrestaConnector\Controller\ProductsMappingsAdminController    

  PrestaShop\Module\LCVPrestaConnector\Controller\VatReportAdminController:
    public: true
    autowire: true
    autoconfigure: true
    class: PrestaShop\Module\LCVPrestaConnector\Controller\VatReportAdminController   

  PrestaShop\Module\LCVPrestaConnector\Controller\RedirectionsAdminController:
    public: true
    autowire: true
    autoconfigure: true
    class: PrestaShop\Module\LCVPrestaConnector\Controller\RedirectionsAdminController    

  PrestaShop\Module\LCVPrestaConnector\Controller\MetaCategoriesAdminController:
    public: true
    autowire: true
    autoconfigure: true
    class: PrestaShop\Module\LCVPrestaConnector\Controller\MetaCategoriesAdminController    

  PrestaShop\Module\LCVPrestaConnector\Controller\OidcAdminController:
    public: true
    autowire: true
    autoconfigure: true
    class: PrestaShop\Module\LCVPrestaConnector\Controller\OidcAdminController    

  PrestaShop\Module\LCVPrestaConnector\Forms\InformationType:
    public: true
    autowire: true
    autoconfigure: true
    tags: ['form.type']
