services:
    _defaults:
        tags: ['claroline.serializer']

    # Trainings
    Claroline\CursusBundle\Serializer\CourseSerializer:
        arguments:
            - '@security.authorization_checker'
            - '@event_dispatcher'
            - '@Claroline\AppBundle\Persistence\ObjectManager'
            - '@Claroline\CommunityBundle\Serializer\UserSerializer'
            - '@Claroline\CommunityBundle\Serializer\RoleSerializer'
            - '@Claroline\CommunityBundle\Serializer\OrganizationSerializer'
            - '@Claroline\CoreBundle\API\Serializer\Workspace\WorkspaceSerializer'
            - '@Claroline\CoreBundle\API\Serializer\Facet\PanelFacetSerializer'

    Claroline\CursusBundle\Serializer\SessionSerializer:
        arguments:
            - '@security.authorization_checker'
            - '@Claroline\AppBundle\Persistence\ObjectManager'
            - '@Claroline\CommunityBundle\Serializer\UserSerializer'
            - '@Claroline\CommunityBundle\Serializer\RoleSerializer'
            - '@Claroline\CoreBundle\API\Serializer\Location\LocationSerializer'
            - '@Claroline\CoreBundle\API\Serializer\Workspace\WorkspaceSerializer'
            - '@Claroline\CoreBundle\API\Serializer\Resource\ResourceNodeSerializer'
            - '@Claroline\CursusBundle\Serializer\CourseSerializer'

    Claroline\CursusBundle\Serializer\EventSerializer:
        arguments:
            - '@security.authorization_checker'
            - '@Claroline\AppBundle\Persistence\ObjectManager'
            - '@Claroline\CoreBundle\API\Serializer\Planning\PlannedObjectSerializer'
            - '@Claroline\CommunityBundle\Serializer\UserSerializer'
            - '@Claroline\CursusBundle\Serializer\SessionSerializer'
            - '@Claroline\CoreBundle\API\Serializer\Template\TemplateSerializer'

    Claroline\CursusBundle\Serializer\EventPresenceSerializer:
        arguments:
            - '@Claroline\AppBundle\Persistence\ObjectManager'
            - '@Claroline\CommunityBundle\Serializer\UserSerializer'

    # Registrations
    Claroline\CursusBundle\Serializer\Registration\CourseUserSerializer:
        arguments:
            - '@Claroline\CommunityBundle\Serializer\UserSerializer'
            - '@Claroline\CursusBundle\Serializer\CourseSerializer'
            - '@Claroline\AppBundle\Persistence\ObjectManager'
            - '@Claroline\CoreBundle\Manager\FacetManager'

    Claroline\CursusBundle\Serializer\Registration\SessionUserSerializer:
        arguments:
            - '@Claroline\CommunityBundle\Serializer\UserSerializer'
            - '@Claroline\CursusBundle\Serializer\SessionSerializer'
            - '@Claroline\AppBundle\Persistence\ObjectManager'
            - '@Claroline\CoreBundle\Manager\FacetManager'

    Claroline\CursusBundle\Serializer\Registration\SessionGroupSerializer:
        arguments:
            - '@Claroline\CommunityBundle\Serializer\GroupSerializer'
            - '@Claroline\CursusBundle\Serializer\SessionSerializer'

    Claroline\CursusBundle\Serializer\Registration\EventUserSerializer:
        arguments:
            - '@Claroline\CommunityBundle\Serializer\UserSerializer'
            - '@Claroline\CursusBundle\Serializer\EventSerializer'

    Claroline\CursusBundle\Serializer\Registration\EventGroupSerializer:
        arguments:
            - '@Claroline\CommunityBundle\Serializer\GroupSerializer'
            - '@Claroline\CursusBundle\Serializer\EventSerializer'
