From 86882184f514eac5ee1693d27f4cf6ef4e285dbd Mon Sep 17 00:00:00 2001 From: Klaus Purer Date: Sun, 12 Nov 2023 08:40:05 +0100 Subject: [PATCH 1/2] fix(route_load): Specify language data type and default value --- src/Plugin/GraphQL/DataProducer/Routing/RouteLoad.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Plugin/GraphQL/DataProducer/Routing/RouteLoad.php b/src/Plugin/GraphQL/DataProducer/Routing/RouteLoad.php index 8102f5902..b48686f92 100644 --- a/src/Plugin/GraphQL/DataProducer/Routing/RouteLoad.php +++ b/src/Plugin/GraphQL/DataProducer/Routing/RouteLoad.php @@ -27,7 +27,8 @@ * ), * "language" = @ContextDefinition("string", * label = @Translation("Language"), - * required = FALSE + * required = FALSE, + * default_value = "und" * ) * } * ) @@ -99,7 +100,7 @@ public function __construct( * * @return \Drupal\Core\Url|null */ - public function resolve($path, $language, RefinableCacheableDependencyInterface $metadata) { + public function resolve($path, string $language, RefinableCacheableDependencyInterface $metadata) { $redirect = $this->redirectRepository ? $this->redirectRepository->findMatchingRedirect($path, [], $language) : NULL; if ($redirect !== NULL) { $url = $redirect->getRedirectUrl(); From 53b9846df6bed7da9f1d2d040167eddaf152f915 Mon Sep 17 00:00:00 2001 From: Klaus Purer Date: Sun, 12 Nov 2023 09:52:17 +0100 Subject: [PATCH 2/2] Allow NULL value for language --- src/Plugin/GraphQL/DataProducer/Routing/RouteLoad.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Plugin/GraphQL/DataProducer/Routing/RouteLoad.php b/src/Plugin/GraphQL/DataProducer/Routing/RouteLoad.php index b48686f92..bba939dcb 100644 --- a/src/Plugin/GraphQL/DataProducer/Routing/RouteLoad.php +++ b/src/Plugin/GraphQL/DataProducer/Routing/RouteLoad.php @@ -3,6 +3,7 @@ namespace Drupal\graphql\Plugin\GraphQL\DataProducer\Routing; use Drupal\Core\Cache\RefinableCacheableDependencyInterface; +use Drupal\Core\Language\Language; use Drupal\Core\Path\PathValidatorInterface; use Drupal\Core\Plugin\ContainerFactoryPluginInterface; use Drupal\graphql\Plugin\GraphQL\DataProducer\DataProducerPluginBase; @@ -95,12 +96,13 @@ public function __construct( * Resolver. * * @param string $path - * @param string $language + * @param string|null $language * @param \Drupal\Core\Cache\RefinableCacheableDependencyInterface $metadata * * @return \Drupal\Core\Url|null */ - public function resolve($path, string $language, RefinableCacheableDependencyInterface $metadata) { + public function resolve($path, ?string $language, RefinableCacheableDependencyInterface $metadata) { + $language = $language ?? Language::LANGCODE_NOT_SPECIFIED; $redirect = $this->redirectRepository ? $this->redirectRepository->findMatchingRedirect($path, [], $language) : NULL; if ($redirect !== NULL) { $url = $redirect->getRedirectUrl();