services:
  _defaults:
    autowire: true
    autoconfigure: true

  Chill\AsideActivityBundle\Export\Export\ListAsideActivity:
      tags:
          - { name: chill.export, alias: 'list_aside_activity' }

  ## Indicators
  Chill\AsideActivityBundle\Export\Export\CountAsideActivity:
    tags:
      - { name: chill.export, alias: 'count_aside_activity' }

  Chill\AsideActivityBundle\Export\Export\SumAsideActivityDuration:
      tags:
          - { name: chill.export, alias: 'sum_aside_activity_duration' }

  Chill\AsideActivityBundle\Export\Export\AvgAsideActivityDuration:
      tags:
          - { name: chill.export, alias: 'avg_aside_activity_duration' }

  Chill\AsideActivityBundle\Export\Export\SumConcernedPersonsCountAsideActivity:
      tags:
          - { name: chill.export, alias: 'sum_aside_activity_concerned_persons_count' }

  ## Filters
  chill.aside_activity.export.date_filter:
    class: Chill\AsideActivityBundle\Export\Filter\ByDateFilter
    tags:
      - { name: chill.export_filter, alias: 'aside_activity_date_filter' }

  chill.aside_activity.export.type_filter:
    class: Chill\AsideActivityBundle\Export\Filter\ByActivityTypeFilter
    tags:
      - { name: chill.export_filter, alias: 'aside_activity_type_filter' }

  chill.aside_activity.export.user_job_filter:
      class: Chill\AsideActivityBundle\Export\Filter\ByUserJobFilter
      tags:
          - { name: chill.export_filter, alias: 'aside_activity_user_job_filter' }

  chill.aside_activity.export.user_scope_filter:
      class: Chill\AsideActivityBundle\Export\Filter\ByUserScopeFilter
      tags:
          - { name: chill.export_filter, alias: 'aside_activity_user_scope_filter' }

  chill.aside_activity.export.user_filter:
      class: Chill\AsideActivityBundle\Export\Filter\ByUserFilter
      tags:
          - { name: chill.export_filter, alias: 'aside_activity_user_filter' }

  Chill\AsideActivityBundle\Export\Filter\ByLocationFilter:
      tags:
          - { name: chill.export_filter, alias: 'aside_activity_location_filter' }

  ## Aggregators

  chill.aside_activity.export.type_aggregator:
    class: Chill\AsideActivityBundle\Export\Aggregator\ByActivityTypeAggregator
    tags:
      - { name: chill.export_aggregator, alias: 'activity_type_aggregator' }

  chill.aside_activity.export.user_job_aggregator:
      class: Chill\AsideActivityBundle\Export\Aggregator\ByUserJobAggregator
      tags:
          - { name: chill.export_aggregator, alias: 'aside_activity_user_job_aggregator' }

  chill.aside_activity.export.user_scope_aggregator:
      class: Chill\AsideActivityBundle\Export\Aggregator\ByUserScopeAggregator
      tags:
          - { name: chill.export_aggregator, alias: 'aside_activity_user_scope_aggregator' }

  Chill\AsideActivityBundle\Export\Aggregator\ByLocationAggregator:
      tags:
          - { name: chill.export_aggregator, alias: 'aside_activity_location_aggregator' }

  Chill\AsideActivityBundle\Export\Aggregator\ByConcernedPersonsCountAggregator:
      tags:
          - { name: chill.export_aggregator, alias: 'aside_activity_concerned_persons_count_aggregator' }
