protected internal FilterInputTypeDescriptor( IDescriptorContext context, FilterInputTypeDefinition definition, string?scope) : base(context, definition, scope) { }
public override void OnBeforeRegisterDependencies( ITypeDiscoveryContext discoveryContext, DefinitionBase?definition, IDictionary <string, object?> contextData) { if (definition is FilterInputTypeDefinition def) { IFilterConvention convention = GetConvention( discoveryContext.DescriptorContext, def.Scope); SchemaTypeReference typeReference = TypeReference.Create( discoveryContext.Type, def.Scope); var descriptor = FilterInputTypeDescriptor.New( discoveryContext.DescriptorContext, def.EntityType, def.Scope); convention.ApplyConfigurations(typeReference, descriptor); FilterInputTypeDefinition extensionDefinition = descriptor.CreateDefinition(); discoveryContext.RegisterDependencies(extensionDefinition); } }
public bool TryGetHandler( ITypeDiscoveryContext context, FilterInputTypeDefinition typeDefinition, FilterFieldDefinition fieldDefinition, [NotNullWhen(true)] out IFilterFieldHandler?handler) { foreach (IFilterFieldHandler filterFieldHandler in _provider.FieldHandlers) { if (filterFieldHandler.CanHandle(context, typeDefinition, fieldDefinition)) { handler = filterFieldHandler; return(true); } } handler = null; return(false); }
public static void MergeFilterInputTypeDefinitions( ITypeCompletionContext context, FilterInputTypeDefinition extensionDefinition, FilterInputTypeDefinition typeDefinition) { TypeExtensionHelper.MergeContextData( extensionDefinition, typeDefinition); TypeExtensionHelper.MergeDirectives( context, extensionDefinition.Directives, typeDefinition.Directives); MergeFilterFieldDefinitions( context, extensionDefinition.Fields, typeDefinition.Fields); TypeExtensionHelper.MergeConfigurations( extensionDefinition.Configurations, typeDefinition.Configurations); }
/// <inheritdoc /> public abstract bool CanHandle( ITypeDiscoveryContext context, FilterInputTypeDefinition typeDefinition, FilterFieldDefinition fieldDefinition);
public override bool CanHandle( ITypeDiscoveryContext context, FilterInputTypeDefinition typeDefinition, FilterFieldDefinition fieldDefinition) => true;