services:
  _defaults:
    public: true

  prestashop.adapter.country.query_handler.get_country_required_fields:
    class: 'PrestaShop\PrestaShop\Adapter\Country\QueryHandler\GetCountryRequiredFieldsHandler'
    arguments:
      - '@prestashop.adapter.country.country_required_fields_provider'
    tags:
      - name: tactician.handler
        command: 'PrestaShop\PrestaShop\Core\Domain\Country\Query\GetCountryRequiredFields'

  prestashop.adapter.country.country_zip_code_requirements_provider:
    class: 'PrestaShop\PrestaShop\Adapter\Country\CountryZipCodeRequirementsProvider'
    arguments:
      - '@prestashop.adapter.legacy.context'
      - '@PrestaShop\PrestaShop\Core\Domain\Country\ZipCodePatternResolverInterface'

  prestashop.adapter.country.country_required_fields_provider:
    class: 'PrestaShop\PrestaShop\Adapter\Country\CountryRequiredFieldsProvider'
    arguments:
      - '@prestashop.adapter.data_provider.country'

  PrestaShop\PrestaShop\Adapter\Country\Repository\CountryRepository: ~

  prestashop.adapter.country.command_handler.add_country_handler:
    public: true
    class: 'PrestaShop\PrestaShop\Adapter\Country\CommandHandler\AddCountryHandler'
    tags:
      - { name: 'tactician.handler', command: 'PrestaShop\PrestaShop\Core\Domain\Country\Command\AddCountryCommand' }
