getAttributes(MapQueryString::class, ArgumentMetadata::IS_INSTANCEOF)[0] ?? null) { return; } $modelRef = $this->modelRegistry->register(new Model( new Type(Type::BUILTIN_TYPE_OBJECT, $argumentMetadata->isNullable(), $argumentMetadata->getType()), groups: $this->getGroups($attribute), serializationContext: $attribute->serializationContext, )); if (!isset($operation->_context->{self::CONTEXT_KEY})) { $operation->_context->{self::CONTEXT_KEY} = []; } $data = [ self::CONTEXT_ARGUMENT_METADATA => $argumentMetadata, self::CONTEXT_MODEL_REF => $modelRef, ]; $operation->_context->{self::CONTEXT_KEY}[] = $data; } /** * @return string[]|null */ private function getGroups(MapQueryString $attribute): ?array { if (null === $attribute->validationGroups) { return null; } if (is_string($attribute->validationGroups)) { return [$attribute->validationGroups]; } if (is_array($attribute->validationGroups)) { return $attribute->validationGroups; } if ($attribute->validationGroups instanceof GroupSequence) { return $attribute->validationGroups->groups; } return null; } }