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(new HashSet<string> { "hidden", "fixed", "type" }); 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", "organization", "project" }); 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 }; }