From 7d805f9e881a60281939a4b37c95ff695e5228fb Mon Sep 17 00:00:00 2001 From: Yanick Witschi Date: Wed, 14 Feb 2018 18:40:40 +0100 Subject: [PATCH] Autoregister classes implementing SubresourceDataProviderInterface --- .../Bundle/DependencyInjection/ApiPlatformExtension.php | 3 +++ .../Bundle/DependencyInjection/ApiPlatformExtensionTest.php | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/src/Bridge/Symfony/Bundle/DependencyInjection/ApiPlatformExtension.php b/src/Bridge/Symfony/Bundle/DependencyInjection/ApiPlatformExtension.php index 3885ed38c04..465f999e1a0 100644 --- a/src/Bridge/Symfony/Bundle/DependencyInjection/ApiPlatformExtension.php +++ b/src/Bridge/Symfony/Bundle/DependencyInjection/ApiPlatformExtension.php @@ -20,6 +20,7 @@ use ApiPlatform\Core\Bridge\Doctrine\Orm\Extension\QueryItemExtensionInterface; use ApiPlatform\Core\DataProvider\CollectionDataProviderInterface; use ApiPlatform\Core\DataProvider\ItemDataProviderInterface; +use ApiPlatform\Core\DataProvider\SubresourceDataProviderInterface; use ApiPlatform\Core\Exception\RuntimeException; use Doctrine\Common\Annotations\Annotation; use Doctrine\ORM\Version; @@ -95,6 +96,8 @@ public function load(array $configs, ContainerBuilder $container) ->addTag('api_platform.item_data_provider'); $container->registerForAutoconfiguration(CollectionDataProviderInterface::class) ->addTag('api_platform.collection_data_provider'); + $container->registerForAutoconfiguration(SubresourceDataProviderInterface::class) + ->addTag('api_platform.subresource_data_provider'); $container->registerForAutoconfiguration(QueryItemExtensionInterface::class) ->addTag('api_platform.doctrine.orm.query_extension.item'); $container->registerForAutoconfiguration(QueryCollectionExtensionInterface::class) diff --git a/tests/Bridge/Symfony/Bundle/DependencyInjection/ApiPlatformExtensionTest.php b/tests/Bridge/Symfony/Bundle/DependencyInjection/ApiPlatformExtensionTest.php index b391dd85e53..961ebe4eaad 100644 --- a/tests/Bridge/Symfony/Bundle/DependencyInjection/ApiPlatformExtensionTest.php +++ b/tests/Bridge/Symfony/Bundle/DependencyInjection/ApiPlatformExtensionTest.php @@ -330,6 +330,10 @@ private function getPartialContainerBuilderProphecy($test = false) ->willReturn($childDefinitionProphecy)->shouldBeCalledTimes(1); $childDefinitionProphecy->addTag('api_platform.collection_data_provider')->shouldBeCalledTimes(1); + $containerBuilderProphecy->registerForAutoconfiguration(SubresourceDataProviderInterface::class) + ->willReturn($childDefinitionProphecy)->shouldBeCalledTimes(1); + $childDefinitionProphecy->addTag('api_platform.subresource_data_provider')->shouldBeCalledTimes(1); + $containerBuilderProphecy->registerForAutoconfiguration(QueryItemExtensionInterface::class) ->willReturn($childDefinitionProphecy)->shouldBeCalledTimes(1); $childDefinitionProphecy->addTag('api_platform.doctrine.orm.query_extension.item')->shouldBeCalledTimes(1);