Skip to content

Commit daafeae

Browse files
committed
Remove deprecated resolver_maps configuration option
1 parent 5935ab0 commit daafeae

File tree

5 files changed

+7
-66
lines changed

5 files changed

+7
-66
lines changed

UPGRADE.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ UPGRADE FROM 0.14 to 1.0
99
* Removed deprecated `args` from `Field`
1010
* Removed deprecated `builders` from `Type`
1111
* Removed deprecated `values` from `Enum`
12+
* Removed deprecated `resolver_maps` configuration option
1213

1314
UPGRADE FROM 0.13 to 0.14
1415
=========================

src/DependencyInjection/Compiler/ResolverMapTaggedServiceMappingPass.php

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
namespace Overblog\GraphQLBundle\DependencyInjection\Compiler;
66

7+
use Overblog\GraphQLBundle\DependencyInjection\Configuration;
78
use Overblog\GraphQLBundle\EventListener\TypeDecoratorListener;
89
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
910
use Symfony\Component\DependencyInjection\ContainerBuilder;
@@ -27,9 +28,7 @@ public function process(ContainerBuilder $container): void
2728
$resolverMapsSortedBySchema = [];
2829
$typeDecoratorListenerDefinition = $container->getDefinition(TypeDecoratorListener::class);
2930

30-
/** @var array $resolverMapsBySchemas */
31-
$resolverMapsBySchemas = $container->getParameter('overblog_graphql.resolver_maps');
32-
31+
$resolverMapsBySchemas = array_fill_keys($container->getParameter(Configuration::NAME.'.schemas'), []);
3332
foreach ($container->findTaggedServiceIds(self::SERVICE_TAG, true) as $serviceId => $tags) {
3433
foreach ($tags as $tag) {
3534
if (!isset($tag['schema'])) {
@@ -64,7 +63,5 @@ public function process(ContainerBuilder $container): void
6463
$resolverMaps,
6564
]);
6665
}
67-
68-
$container->getParameterBag()->remove('overblog_graphql.resolver_maps');
6966
}
7067
}

src/DependencyInjection/Configuration.php

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
use Symfony\Component\Config\Definition\Builder\ScalarNodeDefinition;
2020
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
2121
use Symfony\Component\Config\Definition\ConfigurationInterface;
22-
use Symfony\Component\HttpKernel\Kernel;
2322
use function array_keys;
2423
use function is_array;
2524
use function is_int;
@@ -205,16 +204,6 @@ private function definitionsSchemaSection(): ArrayNodeDefinition
205204
/** @var ArrayNodeDefinition $node */
206205
$node = $builder->getRootNode();
207206

208-
if (Kernel::VERSION_ID >= 50100) {
209-
$deprecatedArgs = [
210-
'overblog/graphql-bundle',
211-
'0.13',
212-
'The "%path%.%node%" configuration is deprecated and will be removed in 1.0. Add the "overblog_graphql.resolver_map" tag to the services instead.',
213-
];
214-
} else {
215-
$deprecatedArgs = ['The "%path%.%node%" configuration is deprecated since version 0.13 and will be removed in 1.0. Add the "overblog_graphql.resolver_map" tag to the services instead.'];
216-
}
217-
218207
// @phpstan-ignore-next-line
219208
$node
220209
->beforeNormalization()
@@ -228,11 +217,6 @@ private function definitionsSchemaSection(): ArrayNodeDefinition
228217
->scalarNode('query')->defaultNull()->end()
229218
->scalarNode('mutation')->defaultNull()->end()
230219
->scalarNode('subscription')->defaultNull()->end()
231-
->arrayNode('resolver_maps')
232-
->defaultValue([])
233-
->prototype('scalar')->end()
234-
->setDeprecated(...$deprecatedArgs)
235-
->end()
236220
->arrayNode('types')
237221
->defaultValue([])
238222
->prototype('scalar')->end()

src/DependencyInjection/OverblogGraphQLExtension.php

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
use Symfony\Component\DependencyInjection\Reference;
3131
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
3232
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
33-
use function array_fill_keys;
3433
use function realpath;
3534
use function sprintf;
3635

@@ -57,6 +56,7 @@ public function load(array $configs, ContainerBuilder $container): void
5756
$this->registerForAutoconfiguration($container);
5857
$this->setDefaultFieldResolver($config, $container);
5958

59+
$container->setParameter($this->getAlias().'.schemas', array_keys($config['definitions']['schema']));
6060
$container->setParameter($this->getAlias().'.config', $config);
6161
$container->setParameter($this->getAlias().'.resources_dir', realpath(__DIR__.'/../Resources'));
6262
}
@@ -232,7 +232,6 @@ private function setSchemaArguments(array $config, ContainerBuilder $container):
232232
}
233233

234234
$executorDefinition = $container->getDefinition(Executor::class);
235-
$resolverMapsBySchema = [];
236235

237236
foreach ($config['definitions']['schema'] as $schemaName => $schemaConfig) {
238237
// builder
@@ -252,11 +251,7 @@ private function setSchemaArguments(array $config, ContainerBuilder $container):
252251
$definition->setFactory([new Reference($schemaBuilderID), 'call']);
253252

254253
$executorDefinition->addMethodCall('addSchemaBuilder', [$schemaName, new Reference($schemaBuilderID)]);
255-
256-
$resolverMapsBySchema[$schemaName] = array_fill_keys($schemaConfig['resolver_maps'], 0);
257254
}
258-
259-
$container->setParameter(sprintf('%s.resolver_maps', $this->getAlias()), $resolverMapsBySchema);
260255
}
261256

262257
private function setServicesAliases(array $config, ContainerBuilder $container): void

tests/DependencyInjection/Compiler/ResolverMapTaggedServiceMappingPassTest.php

Lines changed: 3 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,7 @@ final class ResolverMapTaggedServiceMappingPassTest extends TestCase
1616
public function testProcess(): void
1717
{
1818
$container = new ContainerBuilder();
19-
$container->setParameter('overblog_graphql.resolver_maps', [
20-
'foo' => [],
21-
'bar' => [],
22-
]);
19+
$container->setParameter('overblog_graphql.schemas', ['foo', 'bar']);
2320

2421
$container->register(TypeDecoratorListener::class);
2522
$container->register('App\\GraphQl\\Resolver\\ResolverMap1')
@@ -64,7 +61,7 @@ public function testProcess(): void
6461
public function testProcessThrowsIfSchemaAttributeIsNotDefinedOnTag(): void
6562
{
6663
$container = new ContainerBuilder();
67-
$container->setParameter('overblog_graphql.resolver_maps', []);
64+
$container->setParameter('overblog_graphql.schemas', ['foo', 'bar']);
6865

6966
$container->register(TypeDecoratorListener::class);
7067
$container->register('App\\GraphQl\\Resolver\\ResolverMap')
@@ -76,44 +73,11 @@ public function testProcessThrowsIfSchemaAttributeIsNotDefinedOnTag(): void
7673
(new ResolverMapTaggedServiceMappingPass())->process($container);
7774
}
7875

79-
public function testProcessWithResolverMapBothTaggedAndInConfigDoesNotAddItTwice(): void
80-
{
81-
$container = new ContainerBuilder();
82-
$container->setParameter('overblog_graphql.resolver_maps', [
83-
'foo' => [
84-
'App\\GraphQl\\Resolver\\ResolverMap1' => -10,
85-
'App\\GraphQl\\Resolver\\ResolverMap2' => 0,
86-
],
87-
]);
88-
89-
$container->register(TypeDecoratorListener::class);
90-
$container->register('App\\GraphQl\\Resolver\\ResolverMap1')
91-
->addTag('overblog_graphql.resolver_map', ['schema' => 'foo', 'priority' => 10]);
92-
93-
$container->register('App\\GraphQl\\Resolver\\ResolverMap2');
94-
95-
(new ResolverMapTaggedServiceMappingPass())->process($container);
96-
97-
$typeDecoratorListenerDefinition = $container->getDefinition(TypeDecoratorListener::class);
98-
99-
$methodCalls = $typeDecoratorListenerDefinition->getMethodCalls();
100-
101-
$this->assertCount(1, $methodCalls);
102-
$this->assertSame('foo', $methodCalls[0][1][0]);
103-
$this->assertEquals([
104-
new Reference('App\\GraphQl\\Resolver\\ResolverMap1'),
105-
new Reference('App\\GraphQl\\Resolver\\ResolverMap2'),
106-
], $methodCalls[0][1][1]);
107-
}
108-
10976
public function testProcessThrowsIfTagReferencesUnknownSchema(): void
11077
{
11178
$container = new ContainerBuilder();
11279
$container->register(TypeDecoratorListener::class);
113-
$container->setParameter('overblog_graphql.resolver_maps', [
114-
'foo' => [],
115-
'bar' => [],
116-
]);
80+
$container->setParameter('overblog_graphql.schemas', ['foo', 'bar']);
11781

11882
$container->register('App\\GraphQl\\Resolver\\ResolverMap')
11983
->addTag('overblog_graphql.resolver_map', ['schema' => 'baz']);

0 commit comments

Comments
 (0)