public static QueryProcessResult Validate(string query) { if (String.IsNullOrEmpty(query)) { return new QueryProcessResult { IsValid = true } } ; GroupNode result; try { var parser = new QueryParser(); result = parser.Parse(query); } catch (Exception ex) { return(new QueryProcessResult { Message = ex.Message }); } var validator = new QueryProcessorVisitor(_freeFields); result.Accept(validator); return(new QueryProcessResult { IsValid = true, UsesPremiumFeatures = validator.UsesPremiumFeatures }); } }
public static QueryProcessResult Process(string query) { if (String.IsNullOrEmpty(query)) { return new QueryProcessResult { IsValid = true } } ; GroupNode result; try { var parser = new QueryParser(); result = parser.Parse(query); } catch (Exception ex) { return(new QueryProcessResult { Message = ex.Message }); } var validator = new QueryProcessorVisitor(new HashSet <string> { "hidden", "fixed", "type" }); result.Accept(validator); string expandedQuery = validator.UsesDataFields ? GenerateQueryVisitor.Run(result) : query; return(new QueryProcessResult { IsValid = true, UsesPremiumFeatures = validator.UsesPremiumFeatures, ExpandedQuery = expandedQuery }); }
public static QueryProcessResult Process(string query) { if (String.IsNullOrWhiteSpace(query)) { return new QueryProcessResult { IsValid = true } } ; GroupNode result; try { var parser = new QueryParser(); result = parser.Parse(query); } catch (Exception ex) { return(new QueryProcessResult { Message = ex.Message }); } var validator = new QueryProcessorVisitor(_freeFields); result.Accept(validator); var expandedQuery = validator.UsesDataFields ? GenerateQueryVisitor.Run(result) : query; return(new QueryProcessResult { IsValid = true, UsesPremiumFeatures = validator.UsesPremiumFeatures, ExpandedQuery = expandedQuery }); }