Skip to content

Commit 63f9726

Browse files
Fix validation errors when defining multiple query parameters on an operation using the :property template valid + property restriction.
1 parent eb6396b commit 63f9726

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

src/Metadata/Resource/Factory/ParameterResourceMetadataCollectionFactory.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,9 +93,9 @@ public function create(string $resourceClass): ResourceMetadataCollection
9393
/**
9494
* @return array{propertyNames: string[], properties: array<string, ApiProperty>}
9595
*/
96-
private function getProperties(string $resourceClass, ?Parameter $parameter = null): array
96+
private function getProperties(string $resourceClass, ?Parameter $parameter = null, ?string $key = null): array
9797
{
98-
$k = $resourceClass.($parameter?->getProperties() ? ($parameter->getKey() ?? '') : '');
98+
$k = $resourceClass.($parameter?->getProperties() ? ($parameter->getKey() ?? ($key ?? '')) : '');
9999
if (isset($this->localPropertyCache[$k])) {
100100
return $this->localPropertyCache[$k];
101101
}
@@ -120,7 +120,7 @@ private function getDefaultParameters(Operation $operation, string $resourceClas
120120
$propertyNames = $properties = [];
121121
$parameters = $operation->getParameters() ?? new Parameters();
122122
foreach ($parameters as $key => $parameter) {
123-
['propertyNames' => $propertyNames, 'properties' => $properties] = $this->getProperties($resourceClass, $parameter);
123+
['propertyNames' => $propertyNames, 'properties' => $properties] = $this->getProperties($resourceClass, $parameter, $key);
124124
if (null === $parameter->getProvider() && (($f = $parameter->getFilter()) && $f instanceof ParameterProviderFilterInterface)) {
125125
$parameters->add($key, $parameter->withProvider($f->getParameterProvider()));
126126
}

0 commit comments

Comments
 (0)