From f8063d88f596372a4ee91c01d309407eb578eb3d Mon Sep 17 00:00:00 2001
From: Al Munnings <al.munnings@gmail.com>
Date: Fri, 2 Jun 2023 21:25:42 +1000
Subject: [PATCH] Issue #3364408 by Yury N, almunnings: Routes: language
 argument is not passed to RouteEntity producer

---
 .../SchemaExtension/RouteSchemaExtension.php       | 14 ++++++++++----
 .../src/Plugin/GraphQLCompose/SchemaType/Route.php |  3 +--
 2 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/modules/graphql_compose_routes/src/Plugin/GraphQL/SchemaExtension/RouteSchemaExtension.php b/modules/graphql_compose_routes/src/Plugin/GraphQL/SchemaExtension/RouteSchemaExtension.php
index b9467ca7..17eb8c72 100644
--- a/modules/graphql_compose_routes/src/Plugin/GraphQL/SchemaExtension/RouteSchemaExtension.php
+++ b/modules/graphql_compose_routes/src/Plugin/GraphQL/SchemaExtension/RouteSchemaExtension.php
@@ -65,9 +65,13 @@ class RouteSchemaExtension extends SdlSchemaExtensionPluginBase implements Conta
     $registry->addFieldResolver(
       'Query',
       'route',
-      $builder->produce('url_or_redirect')
-        ->map('path', $builder->fromArgument('path'))
-        ->map('langcode', $builder->fromArgument('langcode')),
+      $builder->compose(
+        $builder->produce('url_or_redirect')
+          ->map('path', $builder->fromArgument('path'))
+          ->map('langcode', $builder->fromArgument('langcode')),
+
+        $builder->context('langcode', $builder->fromArgument('langcode'))
+      )
     );
 
     $registry->addTypeResolver('RouteUnion', function ($value) {
@@ -103,7 +107,9 @@ class RouteSchemaExtension extends SdlSchemaExtensionPluginBase implements Conta
     $registry->addFieldResolver(
       'RouteInternal',
       'entity',
-      $builder->produce('route_entity')->map('url', $builder->fromParent())
+      $builder->produce('route_entity')
+        ->map('url', $builder->fromParent())
+        ->map('language', $builder->fromContext('langcode'))
     );
 
     $registry->addFieldResolver(
diff --git a/modules/graphql_compose_routes/src/Plugin/GraphQLCompose/SchemaType/Route.php b/modules/graphql_compose_routes/src/Plugin/GraphQLCompose/SchemaType/Route.php
index a963f34f..52fdae12 100644
--- a/modules/graphql_compose_routes/src/Plugin/GraphQLCompose/SchemaType/Route.php
+++ b/modules/graphql_compose_routes/src/Plugin/GraphQLCompose/SchemaType/Route.php
@@ -88,8 +88,7 @@ class Route extends GraphQLComposeSchemaTypeBase implements ContainerFactoryPlug
             ],
             'langcode' => [
               'type' => Type::string(),
-              'description' => (string) $this->t('Optionally filter the route by language. Eg en, ja, fr. Defaults to site default language.'),
-              'defaultValue' => $this->languageManager->getDefaultLanguage()->getId(),
+              'description' => (string) $this->t('Optionally filter the route by language. Eg en, ja, fr.'),
             ],
           ],
         ],
-- 
GitLab