From 1390cdd517c2b1dfbbe03d9047163adffcc55c2a Mon Sep 17 00:00:00 2001 From: Emmanuel BALLERY Date: Sat, 17 Sep 2022 19:10:47 +0200 Subject: [PATCH] fix(symfony): upgrade command removes filters --- src/Core/Upgrade/UpgradeApiFilterVisitor.php | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/Core/Upgrade/UpgradeApiFilterVisitor.php b/src/Core/Upgrade/UpgradeApiFilterVisitor.php index ba820b1543c..6ed0e374a40 100644 --- a/src/Core/Upgrade/UpgradeApiFilterVisitor.php +++ b/src/Core/Upgrade/UpgradeApiFilterVisitor.php @@ -147,6 +147,7 @@ public function enterNode(Node $node) $reflection = $this->reflectionClass->getProperty($node->props[0]->name->__toString()); } + $filterAttributes = []; foreach ($this->readApiFilters($reflection) as $annotation) { [$filterAnnotation, $isAnnotation] = $annotation; if ($isAnnotation) { @@ -172,12 +173,14 @@ public function enterNode(Node $node) $arguments[$key] = $this->valueToNode($value); } - $node->attrGroups[] = new Node\AttributeGroup([ - new Node\Attribute( - new Node\Name('ApiFilter'), - $this->arrayToArguments($arguments), - ), - ]); + $filterAttributes[] = new Node\Attribute( + new Node\Name('ApiFilter'), + $this->arrayToArguments($arguments), + ); + } + + foreach ($filterAttributes as $filterAttribute) { + $node->attrGroups[] = new Node\AttributeGroup([$filterAttribute]); } } }