services:
  _defaults:
    public: false

  netzmacht.contao_toolkit.dca.formatter.foreign_key:
    class: Netzmacht\Contao\Toolkit\Dca\Formatter\Value\ForeignKeyFormatter
    arguments:
      - '@database_connection'
    tags:
      - { name: 'netzmacht.contao_toolkit.dca.formatter'}

  netzmacht.contao_toolkit.dca.formatter.file_uuid:
    class: Netzmacht\Contao\Toolkit\Dca\Formatter\Value\FileUuidFormatter
    tags:
      - { name: 'netzmacht.contao_toolkit.dca.formatter'}

  netzmacht.contao_toolkit.dca.formatter.date:
    class: Netzmacht\Contao\Toolkit\Dca\Formatter\Value\DateFormatter
    arguments:
      - '@netzmacht.contao_toolkit.contao.config_adapter'
    tags:
      - { name: 'netzmacht.contao_toolkit.dca.formatter'}

  netzmacht.contao_toolkit.dca.formatter.yes_no:
    class: Netzmacht\Contao\Toolkit\Dca\Formatter\Value\HtmlFormatter
    tags:
      - { name: 'netzmacht.contao_toolkit.dca.formatter'}

  netzmacht.contao_toolkit.dca.formatter.reference:
    class: Netzmacht\Contao\Toolkit\Dca\Formatter\Value\ReferenceFormatter
    tags:
      - { name: 'netzmacht.contao_toolkit.dca.formatter'}

  netzmacht.contao_toolkit.dca.formatter.options:
    class: Netzmacht\Contao\Toolkit\Dca\Formatter\Value\OptionsFormatter
    arguments:
      - '@netzmacht.contao_toolkit.callback_invoker'
    tags:
      - { name: 'netzmacht.contao_toolkit.dca.formatter'}

  netzmacht.contao_toolkit.dca.formatter.hidden:
      class: Netzmacht\Contao\Toolkit\Dca\Formatter\Value\HiddenValueFormatter
      tags:
        - { name: 'netzmacht.contao_toolkit.dca.formatter.pre_filter'}

  netzmacht.contao_toolkit.dca.formatter.deserialize:
      class: Netzmacht\Contao\Toolkit\Dca\Formatter\Value\DeserializeFormatter
      tags:
        - { name: 'netzmacht.contao_toolkit.dca.formatter.pre_filter'}

  netzmacht.contao_toolkit.dca.formatter.encrypted:
      class: Netzmacht\Contao\Toolkit\Dca\Formatter\Value\EncryptedFormatter
      arguments:
        - '@netzmacht.contao_toolkit.contao.encryption_adapter'
      tags:
        - { name: 'netzmacht.contao_toolkit.dca.formatter.pre_filter'}

  netzmacht.contao_toolkit.dca.formatter.flatten:
      class: Netzmacht\Contao\Toolkit\Dca\Formatter\Value\FlattenFormatter
      tags:
        - { name: 'netzmacht.contao_toolkit.dca.formatter.post_filter'}
