public async Task <(object Data, object[]? Errors)> ExecuteAsync(GraphQLExecutionContext context, GraphQLQuery query) { Guard.NotNull(context, nameof(context)); var result = await Executor.ExecuteAsync(execution => { context.Setup(execution); execution.Schema = graphQLSchema; execution.Inputs = query.Inputs; execution.Query = query.Query; }); if (result.Errors != null && result.Errors.Any()) { log.LogWarning(w => w .WriteProperty("action", "GraphQL") .WriteProperty("status", "Failed") .WriteArray("errors", a => { foreach (var error in result.Errors) { a.WriteObject(error, (error, e) => e.WriteException(error)); } })); } var errors = result.Errors?.Select(x => (object)new { x.Message, x.Locations }).ToArray(); return(result.Data, errors); }
public async Task <(object Data, object[]? Errors)> ExecuteAsync(GraphQLExecutionContext context, GraphQLQuery query) { Guard.NotNull(context, nameof(context)); var result = await new DocumentExecuter().ExecuteAsync(execution => { context.Setup(execution); execution.Schema = graphQLSchema; execution.Inputs = query.Variables?.ToInputs(); execution.Query = query.Query; }).ConfigureAwait(false); return(result.Data, result.Errors?.Select(x => (object)new { x.Message, x.Locations }).ToArray()); }