UNPKG

loopback-graphql-relay

Version:

Add Relay based Apollo Server or GraphQL queries on your Loopback server

31 lines (24 loc) 671 B
const _ = require('lodash'); const { GraphQLObjectType } = require('graphql'); const getRemoteMethods = require('./getRemoteMethodMutations'); module.exports = function (models) { const modelFields = {}; _.forEach(models, (model) => { const fields = Object.assign({}, getRemoteMethods(model)); if (_.size(fields) === 0) { return; } modelFields[model.modelName] = { resolve: () => ({}), type: new GraphQLObjectType({ name: `${model.modelName}Mutations`, description: model.modelName, fields, }), }; }); return new GraphQLObjectType({ name: 'Mutation', fields: modelFields, }); };