Ejemplo n.º 1
0
        private static void ApplyConfiguration(
            ITypeCompletionContext context,
            ObjectFieldDefinition definition,
            Type?entityType,
            GetPagingProvider?resolvePagingProvider,
            PagingOptions options,
            FieldMiddleware placeholder)
        {
            options = context.GetSettings(options);
            entityType ??= context.GetType <IOutputType>(definition.Type).ToRuntimeType();
            resolvePagingProvider ??= ResolvePagingProvider;

            IExtendedType   sourceType     = GetSourceType(context.TypeInspector, definition, entityType);
            IPagingProvider pagingProvider = resolvePagingProvider(context.Services, sourceType);
            IPagingHandler  pagingHandler  = pagingProvider.CreateHandler(sourceType, options);
            FieldMiddleware middleware     = CreateMiddleware(pagingHandler);

            var index = definition.MiddlewareComponents.IndexOf(placeholder);

            definition.MiddlewareComponents[index] = middleware;
        }