UNPKG

loopback-graphql-relay

Version:

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

44 lines (34 loc) 836 B
const _ = require('lodash'); const { GraphQLObjectType } = require('graphql'); const { getType } = require('../types/type'); const subWithPayload = require('../subscriptions/subscriptionWithPayload'); function addModel(model) { const fields = {}; const modelName = `${model.modelName}`; const outputFields = { obj: { type: getType(modelName), resolve: o => o, }, }; const subscriptionWithPayload = subWithPayload({ modelName, outputFields, model, }); fields[modelName] = subscriptionWithPayload; return fields; } module.exports = function (models) { const fields = {}; _.forEach(models, (model) => { if (!model.shared) { return; } Object.assign(fields, addModel(model)); }); return new GraphQLObjectType({ name: 'Subscription', fields, }); };