From b4724216ffbd13c803da396705df7b94b8b5d13e Mon Sep 17 00:00:00 2001 From: Zowac Date: Thu, 30 Mar 2023 15:08:30 +0200 Subject: [PATCH] fix(symfony): check operations's parameters --- .../Bundle/DependencyInjection/Configuration.php | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/Symfony/Bundle/DependencyInjection/Configuration.php b/src/Symfony/Bundle/DependencyInjection/Configuration.php index 82bfad3c68f..45a7c3b32c6 100644 --- a/src/Symfony/Bundle/DependencyInjection/Configuration.php +++ b/src/Symfony/Bundle/DependencyInjection/Configuration.php @@ -19,6 +19,8 @@ use ApiPlatform\Exception\FilterValidationException; use ApiPlatform\Exception\InvalidArgumentException; use ApiPlatform\Metadata\ApiResource; +use ApiPlatform\Metadata\Post; +use ApiPlatform\Metadata\Put; use Doctrine\Bundle\DoctrineBundle\DoctrineBundle; use Doctrine\Bundle\MongoDBBundle\DoctrineMongoDBBundle; use Doctrine\ORM\EntityManagerInterface; @@ -558,10 +560,9 @@ private function addDefaultsSection(ArrayNodeDefinition $rootNode): void return $normalizedDefaults; }); - $reflection = new \ReflectionClass(ApiResource::class); - foreach ($reflection->getConstructor()->getParameters() as $parameter) { - $defaultsNode->children()->variableNode($nameConverter->normalize($parameter->getName())); - } + $this->defineDefault($defaultsNode, new \ReflectionClass(ApiResource::class), $nameConverter); + $this->defineDefault($defaultsNode, new \ReflectionClass(Put::class), $nameConverter); + $this->defineDefault($defaultsNode, new \ReflectionClass(Post::class), $nameConverter); } private function addMakerSection(ArrayNodeDefinition $rootNode): void @@ -573,4 +574,11 @@ private function addMakerSection(ArrayNodeDefinition $rootNode): void ->end() ->end(); } + + private function defineDefault(ArrayNodeDefinition $defaultsNode, \ReflectionClass $reflectionClass, CamelCaseToSnakeCaseNameConverter $nameConverter) + { + foreach ($reflectionClass->getConstructor()->getParameters() as $parameter) { + $defaultsNode->children()->variableNode($nameConverter->normalize($parameter->getName())); + } + } }