public async Task <string> GetEventFilterAsync(string query, IQueryVisitorContext context = null) { context = context ?? new ElasticQueryVisitorContext(); var result = await _parser.ParseAsync(query, context); await _eventQueryVisitor.AcceptAsync(result, context); return(result.ToString()); }
public async Task <StackFilter> GetStackFilterAsync(string query, IQueryVisitorContext context = null) { context = context ?? new ElasticQueryVisitorContext(); var result = await _parser.ParseAsync(query, context); var invertedResult = result.Clone(); result = await _stackQueryVisitor.AcceptAsync(result, context); invertedResult = await _invertedStackQueryVisitor.AcceptAsync(invertedResult, context); return(new StackFilter { Filter = result.ToString(), InvertedFilter = invertedResult.ToString(), HasStatus = context.GetBoolean(nameof(StackFilter.HasStatus)), HasStackIds = context.GetBoolean(nameof(StackFilter.HasStackIds)), HasStatusOpen = context.GetBoolean(nameof(StackFilter.HasStatusOpen)) }); }