parameters:
#    cl_chill_person.example.class: Chill\PersonBundle\Example

services:
    _defaults:
        autowire: true
        autoconfigure: true

    Chill\PersonBundle\Service\:
        resource: '../Service/'
        autowire: true
        autoconfigure: true

    Chill\PersonBundle\Serializer\Normalizer\:
        resource: '../Serializer/Normalizer/'
        autowire: true
        tags:
            - { name: 'serializer.normalizer', priority: 64 }

    Chill\PersonBundle\Command\:
        resource: '../Command/'
        autowire: true
        autoconfigure: true
        tags:
            - { name: console.command }

    chill.person.timeline.accompanying_period_opening:
        class: Chill\PersonBundle\Timeline\TimelineAccompanyingPeriodOpening
        arguments:
            - "@doctrine.orm.entity_manager"
            - '@Symfony\Component\Security\Core\Security'
            - '@Chill\MainBundle\Security\Authorization\AuthorizationHelper'
        public: true
        tags:
            - { name: chill.timeline, context: 'person' }
            - { name: chill.timeline, context: 'center' }

    chill.person.timeline.accompanying_period_closing:
        class: Chill\PersonBundle\Timeline\TimelineAccompanyingPeriodClosing
        arguments:
            - "@doctrine.orm.entity_manager"
            - '@Symfony\Component\Security\Core\Security'
            - '@Chill\MainBundle\Security\Authorization\AuthorizationHelper'
        public: true
        tags:
            - { name: chill.timeline, context: 'person' }
            - { name: chill.timeline, context: 'center' }

    chill.person.security.authorization.person:
        class: Chill\PersonBundle\Security\Authorization\PersonVoter
        arguments:
            - "@chill.main.security.authorization.helper"
        tags:
            - { name: security.voter }
            - { name: chill.role }

    Chill\PersonBundle\Validator\Constraints\:
        autowire: true
        autoconfigure: true
        resource: '../Validator/Constraints/'

    Chill\PersonBundle\Repository\:
        autowire: true
        autoconfigure: true
        resource: '../Repository/'

    Chill\PersonBundle\Controller\:
        autowire: true
        autoconfigure: true
        resource: '../Controller/'
        tags: ['controller.service_arguments']

    Chill\PersonBundle\Export\:
        autowire: true
        autoconfigure: true
        resource: '../Export/'

    Chill\PersonBundle\Templating\Entity\:
        autowire: true
        autoconfigure: true
        resource: '../Templating/Entity'
        tags:
            - 'chill.render_entity'

    Chill\PersonBundle\Validator\Constraints\AccompanyingPeriod\:
        autowire: true
        autoconfigure: true
        resource: '../Validator/Constraints/AccompanyingPeriod'

    Chill\PersonBundle\Workflow\:
        autowire: true
        autoconfigure: true
        resource: '../Workflow/'

    Chill\PersonBundle\Service\EntityInfo\AccompanyingPeriodViewEntityInfoProvider:
        arguments:
            $unions: !tagged_iterator chill_person.accompanying_period_info_part

    Chill\PersonBundle\PersonIdentifier\PersonIdentifierManager:
        arguments:
            $engines: !tagged_iterator chill_person.person_identifier_engine

    Chill\PersonBundle\PersonIdentifier\PersonIdentifierManagerInterface:
        alias: Chill\PersonBundle\PersonIdentifier\PersonIdentifierManager

    Chill\PersonBundle\PersonIdentifier\Identifier\:
        resource: '../PersonIdentifier/Identifier'

    Chill\PersonBundle\PersonIdentifier\Rendering\:
        resource: '../PersonIdentifier/Rendering'
