Skip to content

Commit c16e00c

Browse files
committed
set ConnectionFactoryDecorator parent class to ConnectionFactory for compatibility
fix json model type override on multiple calls
1 parent 9c566ca commit c16e00c

File tree

3 files changed

+5
-6
lines changed

3 files changed

+5
-6
lines changed

src/DependencyInjection/CompilerPass/JsonModelCompilerPass.php

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,13 @@ public function process(ContainerBuilder $container): void
3636
}
3737

3838
if (count($types) === 0) {
39-
$container->removeDefinition('pfilsx.postgresql_doctrine_bundle.connection_wrapper');
39+
$container->removeDefinition('pfilsx.postgresql_doctrine_bundle.connection_decorator');
4040

4141
return;
4242
}
4343

44-
$connectionWrapperDef = $container->getDefinition('pfilsx.postgresql_doctrine_bundle.connection_wrapper');
44+
$connectionWrapperDef = $container->getDefinition('pfilsx.postgresql_doctrine_bundle.connection_decorator');
4545
$connectionWrapperDef
46-
->setDecoratedService('doctrine.dbal.connection_factory')
4746
->setArgument(1, $types)
4847
;
4948
}

src/JsonModelConnectionFactoryWrapper.php renamed to src/JsonModelConnectionFactoryDecorator.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
use Symfony\Component\Serializer\Debug\TraceableNormalizer;
1313
use Symfony\Component\Serializer\Normalizer\AbstractObjectNormalizer;
1414

15-
class JsonModelConnectionFactoryWrapper
15+
class JsonModelConnectionFactoryDecorator extends ConnectionFactory
1616
{
1717
private ConnectionFactory $innerFactory;
1818
private array $typesMap;
@@ -42,7 +42,7 @@ private function initializeTypes(): void
4242
JsonModelTypeRegistry::setObjectNormalizer($this->objectNormalizer);
4343
}
4444
foreach ($this->typesMap as $name => $className) {
45-
JsonModelTypeRegistry::addType($name, $className);
45+
JsonModelTypeRegistry::addType($name, $className, true);
4646
}
4747

4848
JsonModelTypeRegistry::registerTypes();

src/Resources/config/services.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<tag name="doctrine.middleware"/>
1313
</service>
1414

15-
<service id="pfilsx.postgresql_doctrine_bundle.connection_wrapper" class="Pfilsx\PostgreSQLDoctrineBundle\JsonModelConnectionFactoryWrapper">
15+
<service id="pfilsx.postgresql_doctrine_bundle.connection_decorator" decorates="doctrine.dbal.connection_factory" class="Pfilsx\PostgreSQLDoctrineBundle\JsonModelConnectionFactoryDecorator">
1616
<argument type="service" id=".inner"/>
1717
<argument/>
1818
<argument type="service" id="serializer.normalizer.object" on-invalid="null"/>

0 commit comments

Comments
 (0)