services:
    _defaults:
        tags: [kernel.event_subscriber]

    Claroline\OpenBadgeBundle\Subscriber\Crud\BadgeClassSubscriber:
        arguments:
            - '@security.token_storage'
            - '@Claroline\CoreBundle\Manager\Organization\OrganizationManager'
            - '@Claroline\CoreBundle\Manager\FileManager'

    Claroline\OpenBadgeBundle\Subscriber\Crud\WorkspaceSubscriber:
        arguments:
            - '@Claroline\AppBundle\Persistence\ObjectManager'
            - '@Claroline\AppBundle\API\Crud'

    Claroline\OpenBadgeBundle\Subscriber\Tool\BadgesSubscriber:
        arguments:
            - '@Claroline\AppBundle\Persistence\ObjectManager'
            - '@Claroline\AppBundle\API\SerializerProvider'
            - '@Claroline\AppBundle\API\Crud'
            - '@Claroline\CoreBundle\Manager\FileManager'

    Claroline\OpenBadgeBundle\Subscriber\BadgeLogSubscriber:
        arguments:
            - '@translator'
            - '@messenger.default_bus'

    # Rules
    Claroline\OpenBadgeBundle\Subscriber\Rules\GroupSubscriber:
        arguments:
            - '@Claroline\AppBundle\Persistence\ObjectManager'
            - '@Claroline\OpenBadgeBundle\Manager\RuleManager'

    Claroline\OpenBadgeBundle\Subscriber\Rules\ResourceEvaluationSubscriber:
        arguments:
            - '@Claroline\AppBundle\Persistence\ObjectManager'
            - '@Claroline\OpenBadgeBundle\Manager\RuleManager'

    Claroline\OpenBadgeBundle\Subscriber\Rules\RoleSubscriber:
        arguments:
            - '@Claroline\AppBundle\Persistence\ObjectManager'
            - '@Claroline\OpenBadgeBundle\Manager\RuleManager'

    Claroline\OpenBadgeBundle\Subscriber\Rules\WorkspaceEvaluationSubscriber:
        arguments:
            - '@Claroline\AppBundle\Persistence\ObjectManager'
            - '@Claroline\OpenBadgeBundle\Manager\RuleManager'
