UNPKG

@neo4j/graphql

Version:

A GraphQL to Cypher query execution layer for Neo4j and JavaScript GraphQL implementations

34 lines 1.82 kB
import type Cypher from "@neo4j/cypher-builder"; import type { AuthorizationAnnotation, AuthorizationOperation, ValidateWhen } from "../../../schema-model/annotation/AuthorizationAnnotation"; import type { AttributeAdapter } from "../../../schema-model/attribute/model-adapters/AttributeAdapter"; import type { ConcreteEntityAdapter } from "../../../schema-model/entity/model-adapters/ConcreteEntityAdapter"; import type { Neo4jGraphQLTranslationContext } from "../../../types/neo4j-graphql-translation-context"; import { AuthorizationFilters } from "../ast/filters/authorization-filters/AuthorizationFilters"; import type { AuthFilterFactory } from "./AuthFilterFactory"; type AuthParams = { entity: ConcreteEntityAdapter; operations: AuthorizationOperation[]; context: Neo4jGraphQLTranslationContext; }; type AuthFilterParams = AuthParams & { authAnnotation: AuthorizationAnnotation | undefined; }; type AuthValidateParams = AuthParams & { when: ValidateWhen; conditionForEvaluation?: Cypher.Predicate; authAnnotation: AuthorizationAnnotation | undefined; }; export declare class AuthorizationFactory { private filterFactory; constructor(filterFactory: AuthFilterFactory); /** @param afterValidation Use it to add "AFTER" validate filters */ getAuthFilters({ attributes, afterValidation, ...params }: AuthParams & { afterValidation?: boolean; attributes?: AttributeAdapter[]; }): AuthorizationFilters[]; createAuthFilterRule({ authAnnotation, ...params }: AuthFilterParams): AuthorizationFilters | undefined; createAuthValidateRule({ authAnnotation, when, conditionForEvaluation, ...params }: AuthValidateParams): AuthorizationFilters | undefined; private createAuthRuleFilter; } export {}; //# sourceMappingURL=AuthorizationFactory.d.ts.map