Exemple #1
0
        private IReadOnlyList <HCError> ValidateQueryDocuments(ISchema schema)
        {
            var errors = new List <HCError>();

            try
            {
                var serviceCollection = new ServiceCollection();
                serviceCollection.AddQueryValidation();
                serviceCollection.AddDefaultValidationRules();
                serviceCollection.AddSingleton <IValidateQueryOptionsAccessor, ValidationOptions>();
                var validator = serviceCollection.BuildServiceProvider()
                                .GetService <IQueryValidator>();

                foreach (DocumentInfo documentInfo in _queries.Values)
                {
                    QueryValidationResult validationResult =
                        validator.Validate(schema, documentInfo.Document);

                    if (validationResult.HasErrors)
                    {
                        foreach (HCError error in validationResult.Errors)
                        {
                            errors.Add(HCErrorBuilder.FromError(error)
                                       .SetExtension("fileName", documentInfo.FileName)
                                       .SetExtension("document", documentInfo.Document)
                                       .Build());
                        }
                    }
                }
            }
            catch (GeneratorException ex)
            {
                errors.AddRange(ex.Errors);
            }

            return(errors);
        }
Exemple #2
0
 /// <summary>
 /// Initializes an instance of <see cref="QueryResult"/>
 /// </summary>
 public QueryResult()
 {
     SecurityMessages = new string[0];
     Validation       = new QueryValidationResult(new BrokenRule[0]);
 }