From 1142e7f2145340d03afe944299500e0e329b1e41 Mon Sep 17 00:00:00 2001 From: soyuka Date: Thu, 26 Sep 2019 09:06:05 +0200 Subject: [PATCH 1/2] Fix disabled metadata --- src/JsonSchema/SchemaFactory.php | 2 +- .../Resource/Factory/OperationResourceMetadataFactory.php | 4 ++-- .../Resource/Factory/OperationResourceMetadataFactoryTest.php | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/JsonSchema/SchemaFactory.php b/src/JsonSchema/SchemaFactory.php index 0d2846015e6..addfe1e5d87 100644 --- a/src/JsonSchema/SchemaFactory.php +++ b/src/JsonSchema/SchemaFactory.php @@ -230,7 +230,7 @@ private function getMetadata(string $resourceClass, string $type = Schema::TYPE_ $inputOrOutput = $resourceMetadata->getTypedOperationAttribute($operationType, $operationName, $attribute, ['class' => $resourceClass], true); } - if (false === ($inputOrOutput['class'] ?? false)) { + if (null === ($inputOrOutput['class'] ?? null)) { // input or output disabled return null; } diff --git a/src/Metadata/Resource/Factory/OperationResourceMetadataFactory.php b/src/Metadata/Resource/Factory/OperationResourceMetadataFactory.php index ef2590edad1..0eaca0f67fc 100644 --- a/src/Metadata/Resource/Factory/OperationResourceMetadataFactory.php +++ b/src/Metadata/Resource/Factory/OperationResourceMetadataFactory.php @@ -85,7 +85,7 @@ public function create(string $resourceClass): ResourceMetadata if ($this->needsDefaultGetOperation($resourceMetadata)) { $resourceMetadata = $resourceMetadata->withItemOperations(array_merge( $resourceMetadata->getItemOperations(), - ['get' => ['method' => 'GET', 'read' => false, 'output' => ['class' => false], 'controller' => NotFoundAction::class]]) + ['get' => ['method' => 'GET', 'read' => false, 'output' => ['class' => null], 'controller' => NotFoundAction::class]]) ); } @@ -162,7 +162,7 @@ private function needsDefaultGetOperation(ResourceMetadata $resourceMetadata): b $itemOperations = $resourceMetadata->getItemOperations(); foreach ($itemOperations as $itemOperation) { - if ('GET' === ($itemOperation['method'] ?? false)) { + if ('GET' === ($itemOperation['method'] ?? null)) { return false; } } diff --git a/tests/Metadata/Resource/Factory/OperationResourceMetadataFactoryTest.php b/tests/Metadata/Resource/Factory/OperationResourceMetadataFactoryTest.php index 4bdbbbdecb2..0ed542c0cc1 100644 --- a/tests/Metadata/Resource/Factory/OperationResourceMetadataFactoryTest.php +++ b/tests/Metadata/Resource/Factory/OperationResourceMetadataFactoryTest.php @@ -78,6 +78,6 @@ private function getOperations(array $names, $operationType = OperationType::ITE private function getPlaceholderOperation(): array { - return ['get' => ['method' => 'GET', 'read' => false, 'output' => ['class' => false], 'controller' => NotFoundAction::class]]; + return ['get' => ['method' => 'GET', 'read' => false, 'output' => ['class' => null], 'controller' => NotFoundAction::class]]; } } From 13b215e9a475568a2fec8d97e12eb03335a9fe5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Dunglas?= Date: Wed, 25 Sep 2019 18:52:49 +0200 Subject: [PATCH 2/2] Fix tests --- composer.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 7674b2dc056..374f51cca23 100644 --- a/composer.json +++ b/composer.json @@ -89,7 +89,8 @@ }, "conflict": { "doctrine/common": "<2.7", - "doctrine/mongodb-odm": "<2.0" + "doctrine/mongodb-odm": "<2.0", + "doctrine/mongodb-odm-bundle": "4.0.0-RC2" }, "suggest": { "doctrine/mongodb-odm-bundle": "To support MongoDB. Only versions 4.0 and later are supported.",