UNPKG

loopback-graphql

Version:

Add Apollo Server or GraphQL queries on your Loopback server

33 lines (28 loc) 900 B
import { graphqlExpress, graphiqlExpress } from 'graphql-server-express'; import { makeExecutableSchema } from 'graphql-tools'; import * as bodyParser from 'body-parser'; import { abstractTypes } from './ast'; import { resolvers } from './resolvers'; import { generateTypeDefs } from './typedefs'; export function boot(app, options) { const models = app.models(); let types = abstractTypes(models); let schema = makeExecutableSchema({ typeDefs: generateTypeDefs(types), resolvers: resolvers(models), resolverValidationOptions: { requireResolversForAllFields: false, }, }); let graphiqlPath = options.graphiqlPath || '/graphiql'; let path = options.path || '/graphql'; app.use(path, bodyParser.json(), graphqlExpress(req => { return { schema, context: req, }; })); app.use(graphiqlPath, graphiqlExpress({ endpointURL: path, })); }