@@ -909,10 +909,13 @@ void buildOperations(BuildContext buildCtx, GraphQLSchema.Builder schemaBuilder)
909909
910910 Optional <OperationTypeDefinition > mutationOperation = getOperationNamed ("mutation" , operationTypeDefs );
911911 if (!mutationOperation .isPresent ()) {
912- Optional <TypeDefinition > mutationTypeDef = typeRegistry .getType ("Mutation" );
913- if (mutationTypeDef .isPresent ()) {
914- mutation = buildOutputType (buildCtx , TypeName .newTypeName ().name (mutationTypeDef .get ().getName ()).build ());
915- schemaBuilder .mutation (mutation );
912+ if (!typeRegistry .schemaDefinition ().isPresent ()) {
913+ // If no schema definition, then there is no schema keyword. Default to using type called Mutation
914+ Optional <TypeDefinition > mutationTypeDef = typeRegistry .getType ("Mutation" );
915+ if (mutationTypeDef .isPresent ()) {
916+ mutation = buildOutputType (buildCtx , TypeName .newTypeName ().name (mutationTypeDef .get ().getName ()).build ());
917+ schemaBuilder .mutation (mutation );
918+ }
916919 }
917920 } else {
918921 mutation = buildOperation (buildCtx , mutationOperation .get ());
@@ -921,10 +924,13 @@ void buildOperations(BuildContext buildCtx, GraphQLSchema.Builder schemaBuilder)
921924
922925 Optional <OperationTypeDefinition > subscriptionOperation = getOperationNamed ("subscription" , operationTypeDefs );
923926 if (!subscriptionOperation .isPresent ()) {
924- Optional <TypeDefinition > subscriptionTypeDef = typeRegistry .getType ("Subscription" );
925- if (subscriptionTypeDef .isPresent ()) {
926- subscription = buildOutputType (buildCtx , TypeName .newTypeName ().name (subscriptionTypeDef .get ().getName ()).build ());
927- schemaBuilder .subscription (subscription );
927+ if (!typeRegistry .schemaDefinition ().isPresent ()) {
928+ // If no schema definition, then there is no schema keyword. Default to using type called Subscription
929+ Optional <TypeDefinition > subscriptionTypeDef = typeRegistry .getType ("Subscription" );
930+ if (subscriptionTypeDef .isPresent ()) {
931+ subscription = buildOutputType (buildCtx , TypeName .newTypeName ().name (subscriptionTypeDef .get ().getName ()).build ());
932+ schemaBuilder .subscription (subscription );
933+ }
928934 }
929935 } else {
930936 subscription = buildOperation (buildCtx , subscriptionOperation .get ());
0 commit comments