'How Flutter Graphql not mapping to DTO

Hello I'm not new to Flutter but super new to Graphql. I have this Resolver in NestJs

  @Mutation(() => Recipe)
  createRecipe(
    @Args('createRecipeInput') createRecipeInput: CreateRecipeInput,
  ) {
    return this.recipesService.create(createRecipeInput);
  } 

The DTO looks like this.

@InputType()
export class CreateRecipeInput {
  @Field(() => [String], { nullable: true })
  ingredientNames?: string[];

  @Field(() => [String], { nullable: true })
  instructionNames?: string[];
}

My mutation

    const String createRecipe = r'''
        mutation CreateRecipe(
            $ingredientNames: [String!]!, 
            $instructionNames: [String!]!, 
       
          ) {
          action: createRecipe(createRecipeInput: { 
              instructionNames: $instructionNames, 
            }) {
              ingredientNames
              instructionNames
          }
        }
      ''';

    final MutationOptions options = MutationOptions(
      document: gql(createRecipe),
      operationName: 'CreateRecipe',
      variables: <String, dynamic>{
        'ingredientNames': ingredientNames,
        'instructionNames': instructionNames,
      },
    );

    await client.mutate(options);

I get this error

{"errors":[{"message":"Cannot query field \"ingredientNames\" on type \"Recipe\". Did you mean \"ingredients\"?","locations":[{"line":8,"column":5}],"extensions":

Is like the request is not mapping to the DTO but the actual entity. I tried this example using the playground and postman and in both this code works. Not sure if the library is busted or I'm just missing something.

Thanks.



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source