UNPKG

@userlab/dx

Version:

Build efficient GraphQL backend

42 lines (41 loc) 1.66 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getConnection = exports.OrderEnumType = void 0; var graphql_1 = require("graphql"); var sortKeyResolve_1 = require("./sortKeyResolve"); var whereResolve_1 = require("./whereResolve"); var joinMonsterResolve_1 = require("./joinMonsterResolve"); exports.OrderEnumType = new graphql_1.GraphQLEnumType({ name: 'OrderEnum', values: { DESC: { value: 'DESC' }, ASC: { value: 'ASC' }, }, }); var getConnection = function (_a) { var connectionType = _a.connectionType, orderByType = _a.orderByType, whereType = _a.whereType, fields = _a.fields, uniqueKey = _a.uniqueKey, defaultOrderBy = _a.defaultOrderBy; return { type: connectionType, args: { after: { type: graphql_1.GraphQLString }, first: { type: graphql_1.GraphQLInt, defaultValue: 20 }, before: { type: graphql_1.GraphQLString }, last: { type: graphql_1.GraphQLInt }, order: { type: exports.OrderEnumType, defaultValue: 'DESC' }, orderBy: { type: new graphql_1.GraphQLList(orderByType), defaultValue: defaultOrderBy, }, where: { type: whereType }, }, extensions: { joinMonster: { sqlPaginate: true, sortKey: sortKeyResolve_1.sortKeyResolve({ fields: fields, uniqueKey: uniqueKey }), where: whereResolve_1.whereResolve({ fields: fields }), }, }, resolve: joinMonsterResolve_1.joinMonsterResolve, }; }; exports.getConnection = getConnection;