@@ -172,23 +172,39 @@ public GraphQLObjectType connectionType(String name, GraphQLObjectType edgeType,
172172 .build ();
173173 }
174174
175-
176175 public GraphQLFieldDefinition mutationWithClientMutationId (String name , String fieldName ,
177176 List <GraphQLInputObjectField > inputFields ,
178177 List <GraphQLFieldDefinition > outputFields ,
179178 DataFetcher dataFetcher ) {
179+ GraphQLInputObjectField clientMutationIdInputField = newInputObjectField ()
180+ .name ("clientMutationId" )
181+ .type (GraphQLString )
182+ .build ();
183+ GraphQLFieldDefinition clientMutationIdPayloadField = newFieldDefinition ()
184+ .name ("clientMutationId" )
185+ .type (GraphQLString )
186+ .build ();
187+
188+ return mutation (name , fieldName , addElementToList (inputFields , clientMutationIdInputField ),
189+ addElementToList (outputFields , clientMutationIdPayloadField ), dataFetcher );
190+ }
191+
192+ private static <T > List <T > addElementToList (List <T > list , T element ) {
193+ ArrayList <T > result = new ArrayList <>(list );
194+ result .add (element );
195+ return result ;
196+ }
197+
198+ public GraphQLFieldDefinition mutation (String name , String fieldName ,
199+ List <GraphQLInputObjectField > inputFields ,
200+ List <GraphQLFieldDefinition > outputFields ,
201+ DataFetcher dataFetcher ) {
180202 GraphQLInputObjectType inputObjectType = newInputObject ()
181203 .name (name + "Input" )
182- .field (newInputObjectField ()
183- .name ("clientMutationId" )
184- .type (GraphQLString ))
185204 .fields (inputFields )
186205 .build ();
187206 GraphQLObjectType outputType = newObject ()
188207 .name (name + "Payload" )
189- .field (newFieldDefinition ()
190- .name ("clientMutationId" )
191- .type (GraphQLString ))
192208 .fields (outputFields )
193209 .build ();
194210
0 commit comments