public async Task <IActionResult> Post([FromBody] GraphqlQuery query, CancellationToken cancellationToken)
        {
            if (query == null)
            {
                throw new ArgumentNullException(nameof(query));
            }

            try
            {
                var result = await _documentExecuter.ExecuteAsync(x =>
                {
                    x.Schema            = _schema;
                    x.Query             = query.Query;
                    x.Inputs            = query.Variables?.ToInputs();
                    x.CancellationToken = cancellationToken;
                }).ConfigureAwait(false);

                if (result.Errors?.Count > 0)
                {
                    return(BadRequest(result));
                }

                return(Ok(new { Data = result.Data }));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex));
            }
        }
        public async Task <IActionResult> Post([FromBody] GraphqlQuery query)
        {
            if (query == null)
            {
                throw new ArgumentNullException(nameof(query));
            }
            var executionOptions = new ExecutionOptions
            {
                Schema = _schema,
                Query  = query.Query
            };

            var result = await _documentExecuter.ExecuteAsync(executionOptions).ConfigureAwait(false);

            if (result.Errors?.Count > 0)
            {
                return(BadRequest(result));
            }

            return(Ok(result));
        }
        public async Task <IActionResult> PostAsync([FromBody] GraphqlQuery query)
        {
            if (query == null)
            {
                throw new ArgumentNullException(nameof(query));
            }
            var inputs           = query.Variables.ToInputs();
            var executionOptions = new ExecutionOptions
            {
                Schema = _schema,
                Query  = query.Query,
                Inputs = inputs
            };

            var result = await _documentExecuter.ExecuteAsync(executionOptions);

            if (result.Errors?.Count > 0)
            {
                return(BadRequest(result));
            }

            return(Ok(result));
        }
 public async Task <IActionResult> PostAsyncAuth([FromBody] GraphqlQuery query) =>
 await ProcessQuery(query, UserAuthRole.SuperUser, UserAuthRole.Admin);
Exemple #5
0
 public async Task <IActionResult> PostAsyncAuth([FromBody] GraphqlQuery query) =>
 await ProcessQuery(query);