コード例 #1
0
ファイル: ErrorHelper.cs プロジェクト: anadale/hotchocolate
        public static IError CouldNotCreateFilterForOperation <T>(
            IFilterField field,
            IValueNode value,
            IFilterVisitorContext <T> context)
        {
            IFilterInputType filterType = context.Types.OfType <IFilterInputType>().First();

            return(ErrorBuilder.New()
                   .SetMessage(
                       DataResources.CouldNotCreateFilterForOperation,
                       context.Operations.Peek().Name,
                       filterType.Print())
                   .AddLocation(value)
                   .SetExtension("expectedType", new NonNullType(field.Type).Print())
                   .SetExtension("filterType", filterType.Print())
                   .Build());
        }
コード例 #2
0
        private static void CompileMiddleware(
            ICompletionContext context,
            ObjectFieldDefinition definition,
            ITypeReference argumentTypeReference,
            FieldMiddleware placeholder)
        {
            IFilterConvention convention =
                context.DescriptorContext.GetFilterConvention();
            IFilterInputType type           = context.GetType <IFilterInputType>(argumentTypeReference);
            Type             middlewareType = _middlewareDefinition.MakeGenericType(type.EntityType);
            FieldMiddleware  middleware     =
                FieldClassMiddlewareFactory.Create(middlewareType,
                                                   FilterMiddlewareContext.Create(convention));
            var index = definition.MiddlewareComponents.IndexOf(placeholder);

            definition.MiddlewareComponents[index] = middleware;
        }
コード例 #3
0
ファイル: ErrorHelper.cs プロジェクト: zmarty/hotchocolate
        public static IError CreateNonNullError <T>(
            IFilterField field,
            IValueNode value,
            IFilterVisitorContext <T> context)
        {
            IFilterInputType filterType = context.Types.OfType <IFilterInputType>().First();

            return(ErrorBuilder.New()
                   .SetMessage(
                       DataResources.ErrorHelper_CreateNonNullError,
                       context.Operations.Peek().Name,
                       filterType.Visualize())
                   .AddLocation(value)
                   .SetCode(ErrorCodes.Data.NonNullError)
                   .SetExtension("expectedType", new NonNullType(field.Type).Visualize())
                   .SetExtension("filterType", filterType.Visualize())
                   .Build());
        }
コード例 #4
0
        public static IError CreateNonNullError <T>(
            IFilterField field,
            IValueNode value,
            IFilterVisitorContext <T> context)
        {
            IFilterInputType filterType = context.Types.OfType <IFilterInputType>().First();

            return(ErrorBuilder.New()
                   .SetMessage(
                       "The provided value for filter `{0}` of type {1} is invalid. " +
                       "Null values are not supported.",
                       context.Operations.Peek().Name,
                       filterType.Visualize())
                   .AddLocation(value)
                   .SetExtension("expectedType", new NonNullType(field.Type).Visualize())
                   .SetExtension("filterType", filterType.Visualize())
                   .Build());
        }
コード例 #5
0
        private static void CompileMiddleware(
            ITypeCompletionContext context,
            ObjectFieldDefinition definition,
            ITypeReference argumentTypeReference,
            FieldMiddleware placeholder,
            string?scope)
        {
            IFilterInputType  type       = context.GetType <IFilterInputType>(argumentTypeReference);
            IFilterConvention convention = context.DescriptorContext.GetFilterConvention(scope);

            var fieldDescriptor = ObjectFieldDescriptor.From(context.DescriptorContext, definition);

            convention.ConfigureField(fieldDescriptor);

            MethodInfo factory    = _factoryTemplate.MakeGenericMethod(type.EntityType.Source);
            var        middleware = (FieldMiddleware)factory.Invoke(null, new object[] { convention }) !;
            var        index      = definition.MiddlewareComponents.IndexOf(placeholder);

            definition.MiddlewareComponents[index] = middleware;
        }
コード例 #6
0
        protected ISchema CreateSchemaWith(
            IFilterInputType type,
            FilterConvention convention,
            params FilterConventionExtension[] extensions)
        {
            ISchemaBuilder builder = SchemaBuilder.New()
                                     .AddConvention <IFilterConvention>(convention)
                                     .AddFiltering()
                                     .AddQueryType(
                c =>
                c.Name("Query")
                .Field("foo")
                .Type <StringType>()
                .Resolver("bar"))
                                     .AddType(type);

            foreach (var extension in extensions)
            {
                builder.AddConvention <IFilterConvention>(extension);
            }

            return(builder.Create());
        }
コード例 #7
0
 public ExecutorBuilder(IFilterInputType inputType)
 {
     _inputType = inputType;
 }
コード例 #8
0
 public Neo4JFilterVisitorContext(IFilterInputType initialType)
     : base(initialType)
 {
     RuntimeTypes = new Stack <IExtendedType>();
     RuntimeTypes.Push(initialType.EntityType);
 }