services:
    _defaults:
        public: true # because controller

    Claroline\CoreBundle\Controller\LegacyController:
        arguments:
            - '@Claroline\AppBundle\Persistence\ObjectManager'
            - '@Claroline\CoreBundle\Library\RoutingHelper'

    Claroline\CoreBundle\Controller\APINew\Log\LogConnectController:
        arguments:
            - '@security.authorization_checker'
            - '@Claroline\AppBundle\API\FinderProvider'
            - '@Claroline\CoreBundle\Manager\LogConnectManager'
            - '@Claroline\CoreBundle\Manager\Tool\ToolManager'

    Claroline\CoreBundle\Controller\APINew\Platform\PluginController:
        parent: Claroline\AppBundle\Controller\AbstractSecurityController
        public: true
        arguments:
            - '@Claroline\AppBundle\API\Crud'
            - '@Claroline\AppBundle\API\SerializerProvider'
            - '@Claroline\CoreBundle\Manager\PluginManager'

    Claroline\CoreBundle\Controller\APINew\Planning\PlannedObjectController:
        parent: Claroline\AppBundle\Controller\AbstractCrudController
        public: true
        arguments:
            - '@security.token_storage'
            - '@request_stack'

    Claroline\CoreBundle\Controller\APINew\Resource\Types\DirectoryController:
        parent: Claroline\AppBundle\Controller\AbstractCrudController
        public: true

    Claroline\CoreBundle\Controller\APINew\Resource\Types\FileController:
        parent: Claroline\AppBundle\Controller\AbstractCrudController
        public: true
        arguments:
            - '@security.authorization_checker'
            - '@Claroline\CoreBundle\Manager\ResourceManager'

    Claroline\CoreBundle\Controller\APINew\Resource\Types\TextController:
        parent: Claroline\AppBundle\Controller\AbstractCrudController
        public: true
        arguments:
            - '@security.authorization_checker'
            - '@Claroline\CoreBundle\Manager\Template\PlaceholderManager'
            - '@Claroline\AppBundle\Manager\PdfManager'

    Claroline\CoreBundle\Controller\APINew\Resource\ResourceCommentController:
        parent: Claroline\AppBundle\Controller\AbstractCrudController
        public: true

    Claroline\CoreBundle\Controller\APINew\Resource\ResourceNodeController:
        parent: Claroline\AppBundle\Controller\AbstractCrudController
        public: true
        arguments:
            - '@Claroline\AppBundle\Event\StrictDispatcher'
            - '@Claroline\CoreBundle\Manager\Resource\ResourceActionManager'
            - '@Claroline\CoreBundle\Manager\ResourceManager'
            - '@Claroline\CoreBundle\Manager\Resource\RightsManager'
            - '@Claroline\CoreBundle\Manager\LogConnectManager'
            - '@security.token_storage'

    Claroline\CoreBundle\Controller\APINew\Template\TemplateController:
        parent: Claroline\AppBundle\Controller\AbstractCrudController
        public: true

    Claroline\CoreBundle\Controller\APINew\Template\TemplateTypeController:
        arguments:
            - '@security.authorization_checker'
            - '@Claroline\AppBundle\API\Crud'
            - '@Claroline\AppBundle\API\SerializerProvider'
            - '@Claroline\CoreBundle\Manager\Template\TemplateManager'

    Claroline\CoreBundle\Controller\APINew\Tool\ToolController:
        arguments:
            - '@security.authorization_checker'
            - '@Claroline\AppBundle\Persistence\ObjectManager'
            - '@event_dispatcher'
            - '@Claroline\AppBundle\API\Crud'
            - '@Claroline\AppBundle\API\SerializerProvider'
            - '@Claroline\CoreBundle\Manager\Tool\ToolManager'
            - '@Claroline\CoreBundle\Manager\LogConnectManager'

    Claroline\CoreBundle\Controller\APINew\Workspace\RegistrationController:
        arguments:
            - '@security.authorization_checker'
            - '@Claroline\AppBundle\Persistence\ObjectManager'
            - '@Claroline\AppBundle\API\SerializerProvider'
            - '@Claroline\AppBundle\API\Crud'
            - '@Claroline\CoreBundle\Manager\Workspace\WorkspaceManager'
            - '@Claroline\CoreBundle\Manager\Workspace\WorkspaceUserQueueManager'

    Claroline\CoreBundle\Controller\APINew\Workspace\RoleController:
        arguments:
            - '@security.authorization_checker'
            - '@Claroline\AppBundle\API\FinderProvider'
            - '@Claroline\AppBundle\API\SerializerProvider'
            - '@Claroline\CoreBundle\Manager\Workspace\WorkspaceManager'

    Claroline\CoreBundle\Controller\APINew\Workspace\WorkspaceController:
        parent: Claroline\AppBundle\Controller\AbstractCrudController
        public: true
        arguments:
            - '@security.token_storage'
            - '@security.authorization_checker'
            - '@Claroline\AppBundle\Event\StrictDispatcher'
            - '@messenger.default_bus'
            - '@Claroline\CoreBundle\Manager\RoleManager'
            - '@Claroline\CoreBundle\Manager\Workspace\WorkspaceManager'
            - '@Claroline\CoreBundle\Manager\LogConnectManager'
            - '@Claroline\AppBundle\Manager\File\TempFileManager'

    Claroline\CoreBundle\Controller\APINew\Platform\ConnectionMessageController:
        parent: Claroline\AppBundle\Controller\AbstractCrudController
        public: true
        arguments:
            - '@Claroline\CoreBundle\Manager\ConnectionMessageManager'

    Claroline\CoreBundle\Controller\APINew\DataSourceController:
        arguments:
            - '@Claroline\AppBundle\Event\StrictDispatcher'
            - '@Claroline\AppBundle\API\SerializerProvider'
            - '@Claroline\CoreBundle\Manager\DataSourceManager'

    Claroline\CoreBundle\Controller\APINew\FileController:
        parent: Claroline\AppBundle\Controller\AbstractCrudController
        public: true
        arguments:
            - '@Claroline\CoreBundle\Library\Configuration\PlatformConfigurationHandler'

    Claroline\CoreBundle\Controller\APINew\ObjectLockController:
        arguments:
            - '@Claroline\AppBundle\Persistence\ObjectManager'
            - '@Claroline\AppBundle\API\SerializerProvider'
            - '@Claroline\CoreBundle\Manager\LockManager'

    Claroline\CoreBundle\Controller\APINew\Platform\ParametersController:
        parent: Claroline\AppBundle\Controller\AbstractSecurityController
        public: true
        arguments:
            - '@security.authorization_checker'
            - '@Claroline\AppBundle\Event\StrictDispatcher'
            - '@Claroline\CoreBundle\Library\Configuration\PlatformConfigurationHandler'
            - '@Claroline\AnalyticsBundle\Manager\AnalyticsManager'
            - '@Claroline\CoreBundle\Manager\VersionManager'
            - '@Claroline\CoreBundle\API\Serializer\ParametersSerializer'

    Claroline\CoreBundle\Controller\APINew\SwaggerController:
        arguments:
            - '@Claroline\AppBundle\Routing\Finder'
            - '@Claroline\AppBundle\Routing\Documentator'
            - '@Claroline\AppBundle\API\SchemaProvider'
            - '@Claroline\AppBundle\Manager\PlatformManager'
            - '%kernel.project_dir%'

    Claroline\CoreBundle\Controller\APINew\WidgetController:
        arguments:
            - '@Claroline\AppBundle\API\SerializerProvider'
            - '@Claroline\CoreBundle\Manager\WidgetManager'
            - '@Claroline\CoreBundle\Manager\DataSourceManager'

    Claroline\CoreBundle\Controller\AdministrationController:
        arguments:
            - '@security.authorization_checker'
            - '@security.token_storage'
            - '@Claroline\CoreBundle\Manager\Tool\ToolManager'
            - '@Claroline\AppBundle\Event\StrictDispatcher'

    Claroline\CoreBundle\Controller\AuthenticationController:
        arguments:
          - '@Claroline\CoreBundle\Manager\UserManager'
          - '@Claroline\AppBundle\Persistence\ObjectManager'
          - '@Claroline\AuthenticationBundle\Manager\MailManager'
          - '@Claroline\CoreBundle\Library\RoutingHelper'
          - '@Claroline\AuthenticationBundle\Security\Authentication\Authenticator'
          - '@Claroline\AppBundle\Event\StrictDispatcher'

    Claroline\CoreBundle\Controller\DesktopController:
        arguments:
            - '@security.authorization_checker'
            - '@security.token_storage'
            - '@Claroline\CoreBundle\Library\Configuration\PlatformConfigurationHandler'
            - '@Claroline\AppBundle\API\SerializerProvider'
            - '@Claroline\CoreBundle\Manager\Tool\ToolManager'
            - '@Claroline\AppBundle\Event\StrictDispatcher'

    Claroline\CoreBundle\Controller\FileController:
        arguments:
            - '@session'
            - '@Claroline\AppBundle\Persistence\ObjectManager'
            - '@Claroline\CoreBundle\API\Serializer\Resource\ResourceNodeSerializer'
            - '@Claroline\CoreBundle\Manager\ResourceManager'
            - '@Claroline\CoreBundle\Manager\RoleManager'
            - '@Claroline\CoreBundle\Manager\FileManager'
            - '@Claroline\AppBundle\API\FinderProvider'
            - '@security.token_storage'
            - '@security.authorization_checker'

    Claroline\CoreBundle\Controller\ResourceController:
        arguments:
            - '@security.token_storage'
            - '@Claroline\AppBundle\API\SerializerProvider'
            - '@Claroline\CoreBundle\Manager\ResourceManager'
            - '@Claroline\CoreBundle\Manager\Resource\ResourceActionManager'
            - '@Claroline\CoreBundle\Manager\Resource\ResourceRestrictionsManager'
            - '@Claroline\AppBundle\Persistence\ObjectManager'
            - '@security.authorization_checker'

    Claroline\CoreBundle\Controller\SearchController:
        arguments:
            - '@Claroline\CoreBundle\Library\Configuration\PlatformConfigurationHandler'
            - '@event_dispatcher'

    Claroline\CoreBundle\Controller\WorkspaceController:
        arguments:
            - '@security.authorization_checker'
            - '@Claroline\AppBundle\Persistence\ObjectManager'
            - '@security.token_storage'
            - '@Claroline\AppBundle\API\SerializerProvider'
            - '@Claroline\CoreBundle\Manager\Tool\ToolManager'
            - '@Claroline\CoreBundle\Manager\Workspace\WorkspaceManager'
            - '@Claroline\CoreBundle\Manager\Workspace\WorkspaceRestrictionsManager'
            - '@Claroline\EvaluationBundle\Manager\WorkspaceEvaluationManager'
            - '@Claroline\AppBundle\Event\StrictDispatcher'

    Claroline\CoreBundle\Controller\APINew\Location\LocationController:
        parent: Claroline\AppBundle\Controller\AbstractCrudController
        public: true
        arguments:
            - '@security.authorization_checker'
            - '@Claroline\CoreBundle\Manager\LocationManager'

    Claroline\CoreBundle\Controller\APINew\Location\RoomController:
        parent: Claroline\AppBundle\Controller\AbstractCrudController
        public: true
        arguments:
            - '@security.authorization_checker'

    Claroline\CoreBundle\Controller\APINew\Location\MaterialController:
        parent: Claroline\AppBundle\Controller\AbstractCrudController
        public: true
        arguments:
            - '@security.authorization_checker'
