UNPKG

shyft

Version:

Model driven GraphQL API framework

208 lines (207 loc) 12.3 kB
"use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); Object.defineProperty(exports, "__esModule", { value: true }); exports.isProtocolGraphQLConfiguration = exports.ProtocolGraphQLConfiguration = void 0; var util_1 = require("./util"); var protocolGraphqlConstants_1 = require("./protocolGraphqlConstants"); var ProtocolConfiguration_1 = require("../engine/protocol/ProtocolConfiguration"); var ProtocolGraphQLConfiguration = /** @class */ (function (_super) { __extends(ProtocolGraphQLConfiguration, _super); function ProtocolGraphQLConfiguration() { var _this = _super.call(this) || this; _this.enableFeatures([ 'query', 'action', 'mutation', 'mutationNested', 'mutationById', 'mutationByUniqueness', 'subscription', 'subscriptionNested', 'subscriptionById', ], true); return _this; } ProtocolGraphQLConfiguration.prototype.getMaxPageSize = function () { return Number(process.env.MAX_PAGE_SIZE) || protocolGraphqlConstants_1.MAX_PAGE_SIZE; }; /* name generators */ ProtocolGraphQLConfiguration.prototype.generateEntityTypeName = function (entity) { return util_1.generateTypeName(entity.name); }; ProtocolGraphQLConfiguration.prototype.generateEntityTypeNamePlural = function (entity) { return util_1.generateTypeNamePlural(entity.name); }; ProtocolGraphQLConfiguration.prototype.generateEntityTypeNamePascalCase = function (entity) { return util_1.generateTypeNamePascalCase(entity.name); }; ProtocolGraphQLConfiguration.prototype.generateEntityTypeNamePluralPascalCase = function (entity) { return util_1.generateTypeNamePluralPascalCase(entity.name); }; ProtocolGraphQLConfiguration.prototype.generateReverseConnectionFieldName = function (sourceEntity, sourceAttributeName) { var typeNamePlural = this.generateEntityTypeNamePlural(sourceEntity); return util_1.generateTypeName(typeNamePlural + "-by-" + sourceAttributeName); }; ProtocolGraphQLConfiguration.prototype.generateReferenceFieldName = function (referenceEntity, attribute) { var fieldName = this.generateFieldName(attribute); return util_1.generateTypeName(referenceEntity.name + "-by-" + fieldName); }; ProtocolGraphQLConfiguration.prototype.generateReferenceFieldListName = function (referenceEntity, attribute) { var fieldName = this.generateFieldName(attribute); var referenceEntityNamePlural = this.generateEntityTypeNamePlural(referenceEntity); return util_1.generateTypeName(referenceEntityNamePlural + "-by-" + fieldName); }; ProtocolGraphQLConfiguration.prototype.generateFieldName = function (attribute) { return util_1.generateTypeName(attribute.name); }; ProtocolGraphQLConfiguration.prototype.generateI18nJsonFieldName = function (attribute) { var fieldName = this.generateFieldName(attribute); return fieldName + "_i18nJson"; }; ProtocolGraphQLConfiguration.prototype.generateI18nFieldName = function (attribute) { var fieldName = this.generateFieldName(attribute); return fieldName + "_i18n"; }; ProtocolGraphQLConfiguration.prototype.generateI18nFieldTypeName = function (entity, attribute) { var typeName = this.generateEntityTypeName(entity); var fieldName = this.generateFieldName(attribute); return util_1.generateTypeNamePascalCase(typeName + "-" + fieldName + "-i18n"); }; ProtocolGraphQLConfiguration.prototype.generateListQueryTypeName = function (entity) { var typeNamePlural = this.generateEntityTypeNamePlural(entity); return util_1.generateTypeName("all-" + typeNamePlural); }; ProtocolGraphQLConfiguration.prototype.generateInstanceQueryTypeName = function (entity) { return this.generateEntityTypeName(entity); }; ProtocolGraphQLConfiguration.prototype.generateInstanceByUniqueQueryTypeName = function (entity, attribute) { var typeName = this.generateEntityTypeName(entity); var fieldName = this.generateFieldName(attribute); return util_1.generateTypeName(typeName + "-by-" + fieldName); }; ProtocolGraphQLConfiguration.prototype.generateUniquenessAttributesName = function (_entity, attributes) { return util_1.generateTypeName(attributes.join('-and-')); }; ProtocolGraphQLConfiguration.prototype.generateUniquenessAttributesFieldName = function (_entity, attribute, uniquenessAttributesName) { var fieldName = this.generateFieldName(attribute); return util_1.generateTypeName(fieldName + "-by-unique-" + uniquenessAttributesName); }; ProtocolGraphQLConfiguration.prototype.generateInstanceUniquenessInputTypeName = function (entity, uniquenessAttributesName) { var typeName = this.generateEntityTypeName(entity); return util_1.generateTypeNamePascalCase(typeName + "-instance-uniqueness-on-" + uniquenessAttributesName + "-input"); }; ProtocolGraphQLConfiguration.prototype.generateActionTypeName = function (action) { return util_1.generateTypeName(action.name); }; ProtocolGraphQLConfiguration.prototype.generateDataInputTypeName = function (baseName) { return util_1.generateTypeNamePascalCase(baseName + "-data-input"); }; ProtocolGraphQLConfiguration.prototype.generateNestedDataInputTypeName = function (baseName, nestedParamName, level) { var levelStr = level > 1 ? "L" + level : ''; return util_1.generateTypeNamePascalCase(baseName + "-" + nestedParamName + "-" + levelStr + "-data-input"); }; ProtocolGraphQLConfiguration.prototype.generateInputTypeName = function (baseName) { return util_1.generateTypeNamePascalCase(baseName + "-input"); }; ProtocolGraphQLConfiguration.prototype.generateDataOutPutTypeName = function (baseName) { return util_1.generateTypeNamePascalCase(baseName + "-data-output"); }; ProtocolGraphQLConfiguration.prototype.generateNestedDataOutPutTypeName = function (baseName, nestedParamName, level) { var levelStr = level > 1 ? "L" + level : ''; return util_1.generateTypeNamePascalCase(baseName + "-" + nestedParamName + "-" + levelStr + "-data-output"); }; ProtocolGraphQLConfiguration.prototype.generateOutPutTypeName = function (baseName) { return util_1.generateTypeNamePascalCase(baseName + "-output"); }; ProtocolGraphQLConfiguration.prototype.generateSortKeyName = function (attribute, ascending) { var direction = ascending ? 'ASC' : 'DESC'; return util_1.generateTypeNameUpperCase(attribute.name) + "_" + direction; }; ProtocolGraphQLConfiguration.prototype.generateSortInputTypeName = function (entity) { var typeName = this.generateEntityTypeName(entity); return util_1.generateTypeNamePascalCase(typeName + "-order-by"); }; ProtocolGraphQLConfiguration.prototype.generateFilterInputTypeName = function (entity) { var typeName = this.generateEntityTypeName(entity); return util_1.generateTypeNamePascalCase(typeName + "-filter"); }; ProtocolGraphQLConfiguration.prototype.generateFilterPreFilterInputTypeName = function (entity) { var typeName = this.generateEntityTypeName(entity); return util_1.generateTypeNamePascalCase(typeName + "-pre-filter"); }; ProtocolGraphQLConfiguration.prototype.generateFilterPreFilterParamsInputTypeName = function (entity, preFilter) { var typeName = this.generateEntityTypeName(entity); return util_1.generateTypeNamePascalCase(typeName + "-pre-filter-" + preFilter + "-params"); }; ProtocolGraphQLConfiguration.prototype.generateConnectionEdgeTypeName = function (entity) { var typeName = this.generateEntityTypeName(entity); return util_1.generateTypeNamePascalCase(typeName + "-edge"); }; ProtocolGraphQLConfiguration.prototype.generateConnectionTypeName = function (entity) { var typeName = this.generateEntityTypeName(entity); return util_1.generateTypeNamePascalCase(typeName + "-connection"); }; ProtocolGraphQLConfiguration.prototype.generateOperationI18nAttributeInputTypeName = function (entity, operation, attribute) { var typeName = this.generateEntityTypeName(entity); var fieldName = this.generateFieldName(attribute); return util_1.generateTypeNamePascalCase(operation.name + "-" + typeName + "-" + fieldName + "-i18n-input"); }; ProtocolGraphQLConfiguration.prototype.generateOperationInstanceInputTypeName = function (entity, operation) { var typeName = this.generateEntityTypeName(entity); return util_1.generateTypeNamePascalCase(operation.name + "-" + typeName + "-instance-input"); }; ProtocolGraphQLConfiguration.prototype.generateOperationInputTypeName = function (entity, operation) { var typeName = this.generateEntityTypeName(entity); return util_1.generateTypeNamePascalCase(operation.name + "-" + typeName + "-input"); }; ProtocolGraphQLConfiguration.prototype.generateOperationByPrimaryAttributeInputTypeName = function (entity, operation, attribute) { var typeName = this.generateEntityTypeName(entity); var fieldName = this.generateFieldName(attribute); return util_1.generateTypeNamePascalCase(operation.name + "-" + typeName + "-by-" + fieldName + "-input"); }; ProtocolGraphQLConfiguration.prototype.generateOperationInstanceNestedInputTypeName = function (entity, operation) { var typeName = this.generateEntityTypeName(entity); return util_1.generateTypeNamePascalCase(operation.name + "-" + typeName + "-instance-nested-input"); }; ProtocolGraphQLConfiguration.prototype.generateOperationNestedInputTypeName = function (entity, operation) { var typeName = this.generateEntityTypeName(entity); return util_1.generateTypeNamePascalCase(operation.name + "-" + typeName + "-nested-input"); }; ProtocolGraphQLConfiguration.prototype.generateOperationOutputTypeName = function (entity, operation) { var typeName = this.generateEntityTypeName(entity); return util_1.generateTypeNamePascalCase(operation.name + "-" + typeName + "-output"); }; ProtocolGraphQLConfiguration.prototype.generateOperationTypeName = function (entity, operation) { var typeName = this.generateEntityTypeName(entity); return util_1.generateTypeName(operation.name + "-" + typeName); }; ProtocolGraphQLConfiguration.prototype.generateOperationNestedTypeName = function (entity, operation) { var typeName = this.generateEntityTypeName(entity); return util_1.generateTypeName(operation.name + "-" + typeName + "-nested"); }; ProtocolGraphQLConfiguration.prototype.generateOperationByPrimaryAttributeTypeName = function (entity, operation, attribute) { var typeName = this.generateEntityTypeName(entity); var fieldName = this.generateFieldName(attribute); return util_1.generateTypeName(operation.name + "-" + typeName + "-by-" + fieldName); }; return ProtocolGraphQLConfiguration; }(ProtocolConfiguration_1.ProtocolConfiguration)); exports.ProtocolGraphQLConfiguration = ProtocolGraphQLConfiguration; var isProtocolGraphQLConfiguration = function (obj) { return obj instanceof ProtocolGraphQLConfiguration; }; exports.isProtocolGraphQLConfiguration = isProtocolGraphQLConfiguration;