@neo4j/graphql
Version:
A GraphQL to Cypher query execution layer for Neo4j and JavaScript GraphQL implementations
42 lines • 2.24 kB
TypeScript
import Cypher from "@neo4j/cypher-builder";
import type { ConcreteEntityAdapter } from "../../../../schema-model/entity/model-adapters/ConcreteEntityAdapter";
import { RelationshipAdapter } from "../../../../schema-model/relationship/model-adapters/RelationshipAdapter";
import { QueryASTContext } from "../QueryASTContext";
import type { QueryASTNode } from "../QueryASTNode";
import type { AuthorizationFilters } from "../filters/authorization-filters/AuthorizationFilters";
import type { InputField } from "../input-fields/InputField";
import type { ReadOperation } from "./ReadOperation";
import type { OperationTranspileResult } from "./operations";
import { MutationOperation } from "./operations";
export declare class UnwindCreateOperation extends MutationOperation {
readonly inputFields: Map<string, InputField>;
readonly target: ConcreteEntityAdapter | RelationshipAdapter;
readonly projectionOperations: ReadOperation[];
protected readonly authFilters: AuthorizationFilters[];
private readonly argumentToUnwind;
private readonly unwindVariable;
private isNested;
constructor({ target, argumentToUnwind, }: {
target: ConcreteEntityAdapter | RelationshipAdapter;
argumentToUnwind: Cypher.Param | Cypher.Property;
});
getChildren(): QueryASTNode[];
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;
getCypherVariable(): Cypher.Variable;
addProjectionOperations(operations: ReadOperation[]): void;
getAuthorizationSubqueries(_context: QueryASTContext): Cypher.Clause[];
transpile(context: QueryASTContext): OperationTranspileResult;
private getMergeClause;
private getTarget;
protected getNestedContext(context: QueryASTContext): QueryASTContext;
private getAuthorizationClauses;
private transpileAuthClauses;
private getProjectionClause;
}
//# sourceMappingURL=UnwindCreateOperation.d.ts.map