async Task <ExecutionResult> Execute( BeawreContext dbContext, string query, string operationName, JObject variables, CancellationToken cancellation) { var options = new ExecutionOptions { Schema = schema, Query = query, OperationName = operationName, Inputs = variables?.ToInputs(), UserContext = dbContext, CancellationToken = cancellation, #if (DEBUG) ExposeExceptions = true, EnableMetrics = true, #endif }; var result = await executer.ExecuteAsync(options); if (result.Errors?.Count > 0) { Response.StatusCode = (int)HttpStatusCode.BadRequest; } return(result); }
public IActionResult Get( [FromQuery] string query, [FromQuery] string variables, [FromQuery] string operationName, [FromServices] BeawreContext dbContext, CancellationToken cancellation) { var jObject = ParseVariables(variables); return(Ok(Execute(dbContext, query, operationName, jObject, cancellation).Result.Data)); }