|
16 | 16 | use ApiPlatform\Core\Exception\ResourceClassNotFoundException;
|
17 | 17 | use ApiPlatform\Core\GraphQl\Resolver\Factory\ResolverFactoryInterface;
|
18 | 18 | use ApiPlatform\Core\GraphQl\Serializer\ItemNormalizer;
|
19 |
| -use ApiPlatform\Core\GraphQl\Type\Definition\InputUnionType; |
20 | 19 | use ApiPlatform\Core\GraphQl\Type\Definition\IterableType;
|
21 | 20 | use ApiPlatform\Core\Metadata\Property\Factory\PropertyMetadataFactoryInterface;
|
22 | 21 | use ApiPlatform\Core\Metadata\Property\Factory\PropertyNameCollectionFactoryInterface;
|
@@ -343,24 +342,13 @@ private function convertType(Type $type, bool $input = false, string $mutationNa
|
343 | 342 | break;
|
344 | 343 | case Type::BUILTIN_TYPE_ARRAY:
|
345 | 344 | case Type::BUILTIN_TYPE_ITERABLE:
|
346 |
| - $graphqlType = $this->getIterableType(); |
| 345 | + if (!isset($this->graphqlTypes['#iterable'])) { |
| 346 | + $this->graphqlTypes['#iterable'] = new IterableType(); |
| 347 | + } |
| 348 | + $graphqlType = $this->graphqlTypes['#iterable']; |
347 | 349 | break;
|
348 | 350 | case Type::BUILTIN_TYPE_OBJECT:
|
349 |
| - if ($input && $depth > 0) { |
350 |
| - if (!isset($this->graphqlTypes['#stringIterableUnionInput'])) { |
351 |
| - $this->graphqlTypes['#stringIterableUnionInput'] = new InputUnionType([ |
352 |
| - 'name' => 'StringIterableUnionInput', |
353 |
| - 'description' => 'Resource\'s IRI or data (embedded entities or when updating a related existing resource)', |
354 |
| - 'types' => [ |
355 |
| - GraphQLType::string(), |
356 |
| - $this->getIterableType(), |
357 |
| - ], |
358 |
| - ]); |
359 |
| - } |
360 |
| - $graphqlType = $this->graphqlTypes['#stringIterableUnionInput']; |
361 |
| - break; |
362 |
| - } |
363 |
| - if (is_a($type->getClassName(), \DateTimeInterface::class, true)) { |
| 351 | + if (($input && $depth > 0) || is_a($type->getClassName(), \DateTimeInterface::class, true)) { |
364 | 352 | $graphqlType = GraphQLType::string();
|
365 | 353 | break;
|
366 | 354 | }
|
@@ -511,15 +499,6 @@ private function getResourcePaginatedCollectionType(string $resourceClass, Graph
|
511 | 499 | return $this->graphqlTypes[$resourceClass]['connection'] = new ObjectType($configuration);
|
512 | 500 | }
|
513 | 501 |
|
514 |
| - private function getIterableType(): IterableType |
515 |
| - { |
516 |
| - if (!isset($this->graphqlTypes['#iterable'])) { |
517 |
| - $this->graphqlTypes['#iterable'] = new IterableType(); |
518 |
| - } |
519 |
| - |
520 |
| - return $this->graphqlTypes['#iterable']; |
521 |
| - } |
522 |
| - |
523 | 502 | private function isCollection(Type $type): bool
|
524 | 503 | {
|
525 | 504 | return $type->isCollection() && Type::BUILTIN_TYPE_OBJECT === $type->getBuiltinType();
|
|
0 commit comments