Skip to content

Commit 2f68bfa

Browse files
committed
The API recognizes short type name for Chronos (and others) #10576
1 parent f866da4 commit 2f68bfa

1 file changed

Lines changed: 15 additions & 4 deletions

File tree

server/Application/Api/TypesFactory.php

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,16 +43,27 @@ public function __invoke(ContainerInterface $container): Types
4343
$invokables = array_combine($invokables, $invokables);
4444

4545
$aliases = [
46-
\Cake\Chronos\Chronos::class => \Ecodev\Felix\Api\Scalar\ChronosType::class,
47-
\Cake\Chronos\ChronosDate::class => \Ecodev\Felix\Api\Scalar\DateType::class,
4846
'datetime' => \Ecodev\Felix\Api\Scalar\ChronosType::class,
4947
'date' => \Ecodev\Felix\Api\Scalar\DateType::class,
50-
\Psr\Http\Message\UploadedFileInterface::class => \GraphQL\Upload\UploadType::class,
51-
'UploadedFileInterface' => \GraphQL\Upload\UploadType::class,
5248
'CHF' => \Ecodev\Felix\Api\Scalar\CHFType::class,
5349
'EUR' => \Ecodev\Felix\Api\Scalar\EURType::class,
5450
];
5551

52+
$aliasesWithShortVariant = [
53+
\Cake\Chronos\Chronos::class => \Ecodev\Felix\Api\Scalar\ChronosType::class,
54+
\Cake\Chronos\ChronosDate::class => \Ecodev\Felix\Api\Scalar\DateType::class,
55+
\Psr\Http\Message\UploadedFileInterface::class => \GraphQL\Upload\UploadType::class,
56+
];
57+
58+
// Automatically add aliases and their short variants
59+
foreach ($aliasesWithShortVariant as $alias => $type) {
60+
$parts = explode('\\', $alias);
61+
$shortAlias = end($parts);
62+
63+
$aliases[$alias] = $type;
64+
$aliases[$shortAlias] = $type;
65+
}
66+
5667
// Automatically add aliases for GraphQL type name from the invokable types
5768
foreach ($invokables as $type) {
5869
$parts = explode('\\', $type);

0 commit comments

Comments
 (0)