@neo4j/graphql
Version:
A GraphQL to Cypher query execution layer for Neo4j and JavaScript GraphQL implementations
48 lines • 2.78 kB
TypeScript
import Cypher from "@neo4j/cypher-builder";
import type { ConcreteEntityAdapter } from "../../../../schema-model/entity/model-adapters/ConcreteEntityAdapter";
import type { RelationshipAdapter } from "../../../../schema-model/relationship/model-adapters/RelationshipAdapter";
import type { QueryASTContext } from "../QueryASTContext";
import type { QueryASTNode } from "../QueryASTNode";
import type { Field } from "../fields/Field";
import type { Filter } from "../filters/Filter";
import type { AuthorizationFilters } from "../filters/authorization-filters/AuthorizationFilters";
import type { Pagination } from "../pagination/Pagination";
import type { EntitySelection } from "../selection/EntitySelection";
import type { Sort } from "../sort/Sort";
import type { OperationTranspileResult } from "./operations";
import { Operation } from "./operations";
export declare class ReadOperation extends Operation {
readonly target: ConcreteEntityAdapter;
readonly relationship: RelationshipAdapter | undefined;
fields: Field[];
protected filters: Filter[];
protected authFilters: AuthorizationFilters[];
protected pagination: Pagination | undefined;
protected sortFields: Sort[];
protected selection: EntitySelection;
constructor({ target, relationship, selection, }: {
target: ConcreteEntityAdapter;
relationship?: RelationshipAdapter;
selection: EntitySelection;
});
setFields(fields: Field[]): void;
addSort(...sort: Sort[]): void;
addPagination(pagination: Pagination): void;
addFilters(...filters: Filter[]): void;
addAuthFilters(...filter: AuthorizationFilters[]): void;
protected getAuthFilterSubqueries(context: QueryASTContext): Cypher.Clause[];
protected getAuthFilterPredicate(context: QueryASTContext): Cypher.Predicate[];
protected getValidations(context: QueryASTContext): Cypher.VoidProcedure[];
protected getProjectionClause(context: QueryASTContext, returnVariable: Cypher.Variable): Cypher.Return;
protected getPredicates(queryASTContext: QueryASTContext): Cypher.Predicate | undefined;
transpile(context: QueryASTContext): OperationTranspileResult;
protected getReturnStatement(context: QueryASTContext, returnVariable: Cypher.Variable): Cypher.Return;
private hasCypherSort;
getChildren(): QueryASTNode[];
protected getFieldsSubqueries(context: QueryASTContext): Cypher.Clause[];
protected getCypherFieldsSubqueries(context: QueryASTContext): Cypher.Clause[];
private getCypherFields;
protected getProjectionMap(context: QueryASTContext): Cypher.MapProjection;
protected addSortToClause(context: QueryASTContext, node: Cypher.Node, clause: Cypher.With | Cypher.Return): void;
}
//# sourceMappingURL=ReadOperation.d.ts.map