services:
  _defaults:
    public: true

  prestashop.adapter.profile.employee.command_handler.toggle_employee_status_handler:
    class: 'PrestaShop\PrestaShop\Adapter\Profile\Employee\CommandHandler\ToggleEmployeeStatusHandler'
    autoconfigure: true

  prestashop.adapter.profile.employee.command_handler.bulk_update_employee_status_handler:
    class: 'PrestaShop\PrestaShop\Adapter\Profile\Employee\CommandHandler\BulkUpdateEmployeeStatusHandler'
    autoconfigure: true

  prestashop.adapter.profile.employee.command_handler.delete_employee_handler:
    class: 'PrestaShop\PrestaShop\Adapter\Profile\Employee\CommandHandler\DeleteEmployeeHandler'
    autoconfigure: true

  prestashop.adapter.profile.employee.command_handler.bulk_delete_employee_handler:
    class: 'PrestaShop\PrestaShop\Adapter\Profile\Employee\CommandHandler\BulkDeleteEmployeeHandler'
    autoconfigure: true

  prestashop.adapter.employee.query_handler.get_employee_for_editing:
    class: 'PrestaShop\PrestaShop\Adapter\Profile\Employee\QueryHandler\GetEmployeeForEditingHandler'
    autoconfigure: true
    arguments:
      - '@prestashop.core.image.parser.image_tag_source_parser'

  prestashop.adapter.employee.form_access_checker:
    class: 'PrestaShop\PrestaShop\Adapter\Employee\EmployeeFormAccessChecker'
    arguments:
      - '@prestashop.adapter.data_provider.employee'
      - '@prestashop.adapter.employee.data_provider'

  PrestaShop\PrestaShop\Core\Employee\Access\EmployeeFormAccessCheckerInterface: '@prestashop.adapter.employee.form_access_checker'

  prestashop.adapter.employee.command_handler.add_employee_handler:
    class: 'PrestaShop\PrestaShop\Adapter\Profile\Employee\CommandHandler\AddEmployeeHandler'
    autoconfigure: true
    arguments:
      - '@prestashop.core.crypto.hashing'
      - '@prestashop.core.employee.profile_access_checker'
      - '@prestashop.adapter.data_provider.employee'

  prestashop.adapter.employee.command_handler.edit_employee_handler:
    class: 'PrestaShop\PrestaShop\Adapter\Profile\Employee\CommandHandler\EditEmployeeHandler'
    autoconfigure: true
    arguments:
      - '@prestashop.core.crypto.hashing'
      - '@prestashop.core.employee.profile_access_checker'
      - '@prestashop.adapter.data_provider.employee'
      - '@prestashop.adapter.legacy.context'

  prestashop.adapter.employee.avatar_provider:
    class: 'PrestaShop\PrestaShop\Adapter\Employee\AvatarProvider'
    arguments:
      - '@PrestaShop\PrestaShop\Adapter\Tools'

  prestashop.adapter.employee.data_provider:
    class: 'PrestaShop\PrestaShop\Adapter\Employee\EmployeeDataProvider'

  prestashop.adapter.employee.navigation_menu_toggler:
    class: 'PrestaShop\PrestaShop\Adapter\Employee\NavigationMenuToggler'
    arguments:
      - '@prestashop.adapter.legacy.context'

  PrestaShop\PrestaShop\Core\Employee\NavigationMenuTogglerInterface: '@prestashop.adapter.employee.navigation_menu_toggler'

  prestashop.adapter.employee.form_language_changer:
    class: 'PrestaShop\PrestaShop\Adapter\Employee\FormLanguageChanger'
    arguments:
      - '@prestashop.adapter.legacy.context'

  PrestaShop\PrestaShop\Core\Employee\FormLanguageChangerInterface: '@prestashop.adapter.employee.form_language_changer'

  prestashop.adapter.employee.query_handler.get_employee_email_by_id_handler:
    class: PrestaShop\PrestaShop\Adapter\Profile\Employee\QueryHandler\GetEmployeeEmailByIdHandler
    autoconfigure: true

  PrestaShop\PrestaShop\Core\Domain\Employee\CommandHandler\SendEmployeePasswordResetEmailHandler:
    autoconfigure: true
    autowire: true

  PrestaShop\PrestaShop\Core\Domain\Employee\CommandHandler\ResetEmployeePasswordHandler:
    autoconfigure: true
    autowire: true
