Skip to content

Commit b6d91f3

Browse files
authored
fix(metadata): wrong service loaded w/ backward compatibility (#4716)
1 parent ee0fabb commit b6d91f3

File tree

3 files changed

+15
-8
lines changed

3 files changed

+15
-8
lines changed

src/Symfony/Bundle/Resources/config/doctrine_mongodb_odm.xml

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -108,14 +108,6 @@
108108
<tag name="api_platform.doctrine_mongodb.odm.aggregation_extension.collection" priority="16" />
109109
</service>
110110
<service id="ApiPlatform\Doctrine\Odm\Extension\OrderExtension" alias="api_platform.doctrine_mongodb.odm.aggregation_extension.order" />
111-
112-
<service id="api_platform.doctrine_mongodb.odm.metadata.property.identifier_metadata_factory"
113-
class="ApiPlatform\Doctrine\Odm\Metadata\Property\DoctrineMongoDbOdmPropertyMetadataFactory"
114-
decorates="api_platform.metadata.property.identifier_metadata_factory"
115-
decoration-priority="40">
116-
<argument type="service" id="doctrine_mongodb"/>
117-
<argument type="service" id="api_platform.doctrine_mongodb.odm.metadata.property.identifier_metadata_factory.inner"/>
118-
</service>
119111
</services>
120112

121113
</container>

src/Symfony/Bundle/Resources/config/v3/doctrine_odm.xml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,5 +45,13 @@
4545
<argument type="service" id="doctrine_mongodb" />
4646
<argument type="service" id="api_platform.doctrine.odm.metadata.resource.metadata_collection_factory.inner" />
4747
</service>
48+
49+
<service id="api_platform.doctrine_mongodb.odm.metadata.property.identifier_metadata_factory"
50+
class="ApiPlatform\Doctrine\Odm\Metadata\Property\DoctrineMongoDbOdmPropertyMetadataFactory"
51+
decorates="api_platform.metadata.property.identifier_metadata_factory"
52+
decoration-priority="40">
53+
<argument type="service" id="doctrine_mongodb"/>
54+
<argument type="service" id="api_platform.doctrine_mongodb.odm.metadata.property.identifier_metadata_factory.inner"/>
55+
</service>
4856
</services>
4957
</container>

tests/Symfony/Bundle/DependencyInjection/ApiPlatformExtensionTest.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,11 @@ private function assertContainerHas(array $services, array $aliases = [])
178178
}
179179
}
180180

181+
private function assertNotContainerHasService(string $service)
182+
{
183+
$this->assertFalse($this->container->hasDefinition($service), sprintf('Service "%s" found.', $service));
184+
}
185+
181186
private function assertContainerHasAlias(string $alias)
182187
{
183188
$this->assertTrue($this->container->hasAlias($alias), sprintf('Alias "%s" not found.', $alias));
@@ -1752,6 +1757,8 @@ public function testLegacyServicesMetadataBackwardCompatibilityLayer(): void
17521757
$this->assertServiceHasTags('api_platform.identifier.date_normalizer', ['api_platform.identifier.denormalizer']);
17531758
$this->assertServiceHasTags('api_platform.listener.view.write.legacy', ['kernel.event_listener']);
17541759
$this->assertServiceHasTags('api_platform.listener.request.read.legacy', ['kernel.event_listener']);
1760+
1761+
$this->assertNotContainerHasService('api_platform.doctrine_mongodb.odm.metadata.property.identifier_metadata_factory');
17551762
}
17561763

17571764
public function testRectorConfiguration(): void

0 commit comments

Comments
 (0)