DX: use tags iterator to inject aggregators, filters and export during ExportManager's construct

Squashed commit of the following:

commit dc2bbc8f4da24549a1d42feb3b453af9f79ab2ff
Author: Julien Fastré <julien.fastre@champs-libres.coop>
Date:   Tue Oct 18 10:40:14 2022 +0200

    Fixes: remove iterator_to_array on formatter, which causes a PHP crashes

commit 4ce56a01a7
Author: Julien Fastré <julien.fastre@champs-libres.coop>
Date:   Mon Oct 17 17:41:14 2022 +0200

    DX: use tags and dependency injection to build ExportManager
This commit is contained in:
2022-10-18 10:42:37 +02:00
parent a5c7934b76
commit a7ade9dac4
4 changed files with 35 additions and 166 deletions

View File

@@ -4,18 +4,15 @@ services:
autoconfigure: true
## Indicators
chill.activity.export.count_activity_linked_to_person:
class: Chill\ActivityBundle\Export\Export\LinkedToPerson\CountActivity
Chill\ActivityBundle\Export\Export\LinkedToPerson\CountActivity:
tags:
- { name: chill.export, alias: 'count_activity_linked_to_person' }
chill.activity.export.sum_activity_duration_linked_to_person:
class: Chill\ActivityBundle\Export\Export\LinkedToPerson\StatActivityDuration
Chill\ActivityBundle\Export\Export\LinkedToPerson\StatActivityDuration:
tags:
- { name: chill.export, alias: 'sum_activity_duration_linked_to_person' }
chill.activity.export.list_activity_linked_to_person:
class: Chill\ActivityBundle\Export\Export\LinkedToPerson\ListActivity
Chill\ActivityBundle\Export\Export\LinkedToPerson\ListActivity:
tags:
- { name: chill.export, alias: 'list_activity_linked_to_person' }
@@ -116,8 +113,7 @@ services:
- { name: chill.export_filter, alias: 'activity_userscope_filter' }
## Aggregators
chill.activity.export.reason_aggregator:
class: Chill\ActivityBundle\Export\Aggregator\PersonAggregators\ActivityReasonAggregator
Chill\ActivityBundle\Export\Aggregator\PersonAggregators\ActivityReasonAggregator:
tags:
- { name: chill.export_aggregator, alias: activity_reason_aggregator }