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

  Clickstorm\CsSeo\:
    resource: '../Classes/*'

  Clickstorm\CsSeo\Service\Backend\GridService:
    public: true

  Clickstorm\CsSeo\Service\FrontendPageService:
    public: true

  Clickstorm\CsSeo\Hook\SqlExpectedSchemaHook:
    tags:
      - name: event.listener
        identifier: 'cs_seo/SqlExpectedSchemaHook'
        after: 'addMysqlFulltextIndex'
        event: TYPO3\CMS\Core\Database\Event\AlterTableDefinitionStatementsEvent
        method: 'addMetadataDatabaseSchemaToTablesDefinition'

  Clickstorm\CsSeo\EventListener\CanonicalListener:
    tags:
      - name: event.listener
        identifier: 'cs-seo/canonical'
        event: TYPO3\CMS\Seo\Event\ModifyUrlForCanonicalTagEvent

  Clickstorm\CsSeo\EventListener\HrefLangListener:
    tags:
      - name: event.listener
        identifier: 'cs_seo/CsSeoHrefLang'
        after: 'typo3-seo/hreflangGenerator'
        event: TYPO3\CMS\Frontend\Event\ModifyHrefLangTagsEvent

  Clickstorm\CsSeo\EventListener\AfterTcaCompilationEventListener:
    tags:
      - name: event.listener
        identifier: 'csSeoAfterTcaCompilationEventListener'
        event: TYPO3\CMS\Core\Configuration\Event\AfterTcaCompilationEvent

  Clickstorm\CsSeo\EventListener\ModifyPageLayoutContentEventListener:
    tags:
      - name: event.listener
        identifier: 'cs-seo/backend/modify-page-module-content'
        event: TYPO3\CMS\Backend\Controller\Event\ModifyPageLayoutContentEvent

  Clickstorm\CsSeo\Command\EvaluationCommand:
    public: true
    tags:
      - name: 'console.command'
        command: 'cs_seo:evaluate'
        description: 'Evaluate SEO aspects for multiple pages or records.'

