From dac0cf7963f94da84448fe0286a9bc7833fe4e06 Mon Sep 17 00:00:00 2001 From: Danilo Barboza <277004+danilo-barboza@users.noreply.github.com> Date: Sat, 26 Sep 2020 20:35:44 +0200 Subject: [PATCH] fix: Force add 'orphan' types used by apollo federation to schema --- src/main/kotlin/graphql/kickstart/tools/SchemaClassScanner.kt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/kotlin/graphql/kickstart/tools/SchemaClassScanner.kt b/src/main/kotlin/graphql/kickstart/tools/SchemaClassScanner.kt index 860689c5..d3e1ed82 100644 --- a/src/main/kotlin/graphql/kickstart/tools/SchemaClassScanner.kt +++ b/src/main/kotlin/graphql/kickstart/tools/SchemaClassScanner.kt @@ -70,6 +70,10 @@ internal class SchemaClassScanner( handleRootType(rootTypeHolder.query) handleRootType(rootTypeHolder.mutation) handleRootType(rootTypeHolder.subscription) + val federatedExtensionDefinitions = objectDefinitions + .filter { definition -> definition.directivesByName.containsKey("extends") } + + handleInterfaceOrUnionSubTypes(federatedExtensionDefinitions) { "Object type '${it.name}' is an extensionType. Please pass a class for type '${it.name}' in the parser's dictionary." } scanQueue()