UNPKG

@neo4j/graphql

Version:

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

152 lines 7.15 kB
"use strict"; /* * Copyright (c) "Neo4j" * Neo4j Sweden AB [http://neo4j.com] * * This file is part of Neo4j. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ Object.defineProperty(exports, "__esModule", { value: true }); exports.RelationshipBaseOperations = void 0; const upper_first_1 = require("../../../utils/upper-first"); class RelationshipBaseOperations { constructor(relationship) { this.relationship = relationship; } get prefixForTypename() { return `${this.relationship.source.name}${(0, upper_first_1.upperFirst)(this.relationship.name)}`; } get prefixForTypenameWithInheritance() { const prefix = this.relationship.firstDeclaredInTypeName || this.relationship.source.name; return `${prefix}${(0, upper_first_1.upperFirst)(this.relationship.name)}`; } /**Note: Required for now to infer the types without ResolveTree * @deprecated use getAggregateFieldTypename * */ getAggregationFieldTypename(nestedField) { const nestedFieldStr = (0, upper_first_1.upperFirst)(nestedField || ""); const aggregationStr = nestedField ? "Aggregate" : "Aggregation"; return `${this.relationship.source.name}${this.relationship.target.name}${(0, upper_first_1.upperFirst)(this.relationship.name)}${nestedFieldStr}${aggregationStr}Selection`; } getAggregateFieldTypename(nestedField) { const nestedFieldStr = (0, upper_first_1.upperFirst)(nestedField || ""); return `${this.relationship.source.name}${this.relationship.target.name}${(0, upper_first_1.upperFirst)(this.relationship.name)}${nestedFieldStr}AggregateSelection`; } getTargetTypePrettyName() { if (this.relationship.isList) { return `[${this.relationship.target.name}!]${!this.relationship.isNullable ? "!" : ""}`; } return `${this.relationship.target.name}${!this.relationship.isNullable ? "!" : ""}`; } getFieldInputTypeName(ifUnionRelationshipTargetEntity) { return `${this.prefixForTypename}${ifUnionRelationshipTargetEntity?.name || ""}FieldInput`; } getConnectionUnionWhereInputTypename(concreteEntityAdapter) { return `${this.prefixForTypenameWithInheritance}${concreteEntityAdapter.name}ConnectionWhere`; } /**Note: Required for now to infer the types without ResolveTree */ get connectionFieldTypename() { return `${this.prefixForTypenameWithInheritance}Connection`; } get connectionSortInputTypename() { return `${this.connectionFieldTypename}Sort`; } get connectionWhereInputTypename() { return `${this.connectionFieldTypename}Where`; } /**Note: Required for now to infer the types without ResolveTree */ get relationshipFieldTypename() { return `${this.prefixForTypenameWithInheritance}Relationship`; } getUpdateFieldInputTypeName(ifUnionRelationshipTargetEntity) { return `${this.prefixForTypename}${ifUnionRelationshipTargetEntity?.name || ""}UpdateFieldInput`; } getCreateFieldInputTypeName(ifUnionRelationshipTargetEntity) { return `${this.prefixForTypename}${ifUnionRelationshipTargetEntity?.name || ""}CreateFieldInput`; } getDeleteFieldInputTypeName(ifUnionRelationshipTargetEntity) { return `${this.fieldInputPrefixForTypename}${(0, upper_first_1.upperFirst)(this.relationship.name)}${ifUnionRelationshipTargetEntity?.name || ""}DeleteFieldInput`; } getConnectFieldInputTypeName(ifUnionRelationshipTargetEntity) { return `${this.prefixForTypename}${ifUnionRelationshipTargetEntity?.name || ""}ConnectFieldInput`; } getDisconnectFieldInputTypeName(ifUnionRelationshipTargetEntity) { return `${this.fieldInputPrefixForTypename}${(0, upper_first_1.upperFirst)(this.relationship.name)}${ifUnionRelationshipTargetEntity?.name || ""}DisconnectFieldInput`; } get connectionFieldName() { return `${this.relationship.name}Connection`; } getConnectionWhereTypename(ifUnionRelationshipTargetEntity) { return `${this.prefixForTypenameWithInheritance}${ifUnionRelationshipTargetEntity?.name || ""}ConnectionWhere`; } getUpdateConnectionInputTypename(ifUnionRelationshipTargetEntity) { return `${this.prefixForTypename}${ifUnionRelationshipTargetEntity?.name || ""}UpdateConnectionInput`; } // Legacy typename superseded by getUpdateConnectionInputTypename, which is slightly different type - contains nodes for edges/nodes get aggregateInputTypeName() { return `${this.prefixForTypename}AggregateInput`; } get connectionAggregateInputTypeName() { return `${this.prefixForTypename}ConnectionAggregateInput`; } get aggregateFieldName() { return `${this.relationship.name}Aggregate`; } get nodeAggregationWhereInputTypeName() { return `${this.prefixForTypename}NodeAggregationWhereInput`; } get unionConnectInputTypeName() { return `${(0, upper_first_1.upperFirst)(this.prefixForTypename)}ConnectInput`; } get unionDeleteInputTypeName() { return `${(0, upper_first_1.upperFirst)(this.prefixForTypename)}DeleteInput`; } get unionDisconnectInputTypeName() { return `${(0, upper_first_1.upperFirst)(this.prefixForTypename)}DisconnectInput`; } get unionCreateInputTypeName() { return `${(0, upper_first_1.upperFirst)(this.prefixForTypename)}CreateInput`; } get unionCreateFieldInputTypeName() { return `${(0, upper_first_1.upperFirst)(this.prefixForTypename)}CreateFieldInput`; } get unionUpdateInputTypeName() { return `${(0, upper_first_1.upperFirst)(this.prefixForTypename)}UpdateInput`; } getToUnionUpdateInputTypeName(ifUnionRelationshipTargetEntity) { return `${this.prefixForTypename}${ifUnionRelationshipTargetEntity.name}UpdateInput`; } get edgeCreateInputTypeName() { const isRequired = this.relationship.hasNonNullCreateInputFields; return `${this.edgePrefix}CreateInput${isRequired ? `!` : ""}`; } get createInputTypeName() { return `${this.edgePrefix}CreateInput`; } get edgeUpdateInputTypeName() { return `${this.edgePrefix}UpdateInput`; } get whereInputTypeName() { return `${this.edgePrefix}Where`; } get sortInputTypeName() { return `${this.edgePrefix}Sort`; } get edgeAggregationWhereInputTypeName() { return `${this.edgePrefix}AggregationWhereInput`; } } exports.RelationshipBaseOperations = RelationshipBaseOperations; //# sourceMappingURL=RelationshipBaseOperations.js.map