| 
 | 1 | += The `Neo4jGraphQL` class  | 
 | 2 | +:description: This section describes various setting field in the Neo4j GraphQL main class.  | 
 | 3 | + | 
 | 4 | +You can assign different setting fields in the Neo4jGraphQL constructor:   | 
 | 5 | + | 
 | 6 | +[source, javascript, indent=0]  | 
 | 7 | +----  | 
 | 8 | +export interface Neo4jGraphQLConstructor {  | 
 | 9 | +    typeDefs: TypeDefinitions; <1>  | 
 | 10 | +    resolvers?: IExecutableSchemaDefinition["resolvers"]; <2>  | 
 | 11 | +    features?: Neo4jFeaturesSettings; <3>  | 
 | 12 | +    driver?: Driver; <4>  | 
 | 13 | +    debug?: boolean;  | 
 | 14 | +    validate?: boolean;  | 
 | 15 | +}  | 
 | 16 | +----  | 
 | 17 | +<1> See xref:types/index.adoc[].  | 
 | 18 | +<2> See xref:directives/custom-logic.adoc#_customresolver[Custom resolvers].  | 
 | 19 | +<3> See xref:#_feature_settings[] on this page.  | 
 | 20 | +<4> See xref:driver-configuration.adoc[].  | 
 | 21 | + | 
 | 22 | + | 
 | 23 | +== Feature settings  | 
 | 24 | + | 
 | 25 | +You can set different features in the `features` field of the Neo4j GraphQL constructor.  | 
 | 26 | +The `Neo4jFeaturesSettings` type looks like this:  | 
 | 27 | + | 
 | 28 | +[source, javascript, indent=0]  | 
 | 29 | +----  | 
 | 30 | +export type Neo4jFeaturesSettings = {  | 
 | 31 | +    filters?: Neo4jFiltersSettings;  | 
 | 32 | +    populatedBy?: Neo4jPopulatedBySettings;  | 
 | 33 | +    authorization?: Neo4jAuthorizationSettings;  | 
 | 34 | +    subscriptions?: Neo4jGraphQLSubscriptionsEngine | boolean;  | 
 | 35 | +    /** If set to `true`, removes `@neo4j/graphql` fields that are marked as deprecated to reduce schema size.  | 
 | 36 | +     *  | 
 | 37 | +     * NOTE: this will not remove user defined deprecated fields  | 
 | 38 | +     **/  | 
 | 39 | +    excludeDeprecatedFields?: {  | 
 | 40 | +        bookmark?: boolean;  | 
 | 41 | +        negationFilters?: boolean;  | 
 | 42 | +        arrayFilters?: boolean;  | 
 | 43 | +        stringAggregation?: boolean;  | 
 | 44 | +        aggregationFilters?: boolean;  | 
 | 45 | +        nestedUpdateOperationsFields?: boolean;  | 
 | 46 | +    };  | 
 | 47 | +    vector?: Neo4jVectorSettings;  | 
 | 48 | +};  | 
 | 49 | +----  | 
 | 50 | + | 
 | 51 | + | 
 | 52 | +=== Filter settings  | 
 | 53 | + | 
 | 54 | +Use `Neo4jFiltersSettings` to enable numeric String comparisons and regular expression filters for Strings and IDs.  | 
 | 55 | +They are disabled by default.  | 
 | 56 | +See xref:queries-aggregations/filtering.adoc#_string_comparison[String comparison] and xref:queries-aggregations/filtering.adoc#_regex_matching[RegEx matching].  | 
 | 57 | + | 
 | 58 | + | 
 | 59 | +=== `populatedBy` settings  | 
 | 60 | + | 
 | 61 | +Use the `populatedBy` field to register callback functions used by the `@populatedBy` directive.  | 
 | 62 | +See xref:directives/custom-logic.adoc#_populatedby[`@populatedBy`].  | 
 | 63 | + | 
 | 64 | + | 
 | 65 | +=== Authorization settings  | 
 | 66 | + | 
 | 67 | +Set authorization keys in the `authorization` field.  | 
 | 68 | +See xref:security/configuration.adoc[Security > Configuration].  | 
 | 69 | + | 
 | 70 | + | 
 | 71 | +=== Subscription settings  | 
 | 72 | + | 
 | 73 | +Enable the `subscriptions` feature of the Neo4j GraphQL Library by setting it to `true`.  | 
 | 74 | +See xref:subscriptions/engines.adoc[Subscription engines].  | 
 | 75 | + | 
 | 76 | + | 
 | 77 | +=== Exclude deprecated fields  | 
 | 78 | + | 
 | 79 | +If you are not using them, use `excludeDeprecatedFields` to disable the generation of various deprecated fields.  | 
 | 80 | +See xref:optimization.adoc#_exclude_deprecated_fields[Exclude `@deprecated` fields].  | 
 | 81 | + | 
 | 82 | + | 
 | 83 | +=== Vector settings  | 
 | 84 | + | 
 | 85 | +Set your GenAI provider credentials with the `vector` field.  | 
 | 86 | +See xref:directives/indexes-and-constraints.adoc#_vector_index_search[`@vector`].  | 
0 commit comments