@neo4j/graphql
Version:
A GraphQL to Cypher query execution layer for Neo4j and JavaScript GraphQL implementations
44 lines • 2.31 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 { Filter } from "../filters/Filter";
import type { AuthorizationFilters } from "../filters/authorization-filters/AuthorizationFilters";
import type { InputField } from "../input-fields/InputField";
import type { SelectionPattern } from "../selection/SelectionPattern/SelectionPattern";
import type { ReadOperation } from "./ReadOperation";
import { MutationOperation, type OperationTranspileResult } from "./operations";
export declare class ConnectOperation extends MutationOperation {
readonly target: ConcreteEntityAdapter;
readonly relationship: RelationshipAdapter;
private selectionPattern;
protected readonly authFilters: AuthorizationFilters[];
projectionOperations: ReadOperation[];
readonly inputFields: Map<string, InputField>;
private filters;
private nestedContext;
constructor({ target, relationship, selectionPattern, }: {
target: ConcreteEntityAdapter;
selectionPattern: SelectionPattern;
relationship: RelationshipAdapter;
});
getChildren(): QueryASTNode[];
print(): string;
addAuthFilters(...filter: AuthorizationFilters[]): void;
/**
* Get and set field methods are utilities to remove duplicate fields between separate inputs
* TODO: This logic should be handled in the factory.
*/
getField(key: string, attachedTo: "node" | "relationship"): InputField | undefined;
addField(field: InputField, attachedTo: "node" | "relationship"): void;
addFilters(...filters: Filter[]): void;
addProjectionOperations(operations: ReadOperation[]): void;
getAuthorizationSubqueries(_context: QueryASTContext): Cypher.Clause[];
transpile(context: QueryASTContext): OperationTranspileResult;
private getProjectionClause;
private getAuthorizationClauses;
private getAuthorizationClausesAfter;
private transpileAuthClauses;
}
//# sourceMappingURL=ConnectOperation.d.ts.map