feat: add GraphQL server and resolvers

This commit is contained in:
André Sá 2022-04-05 17:47:01 +01:00
parent 4d8c8c4b62
commit a0ed5a3a0e
5 changed files with 387 additions and 1 deletions

27
lib/graphql/server.js Normal file
View file

@ -0,0 +1,27 @@
const logger = require('../logger')
const https = require('https')
const { ApolloServer } = require('apollo-server-express')
const devMode = !!require('minimist')(process.argv.slice(2)).dev
module.exports = new ApolloServer({
typeDefs: require('./types'),
resolvers: require('./resolvers'),
context: ({ req, res }) => ({
deviceId: req.deviceId, /* lib/middlewares/populateDeviceId.js */
deviceName: req.deviceName, /* lib/middlewares/authorize.js */
operatorId: res.locals.operatorId, /* lib/middlewares/operatorId.js */
pid: req.query.pid,
settings: req.settings, /* lib/middlewares/populateSettings.js */
}),
uploads: false,
playground: false,
introspection: false,
formatError: error => {
logger.error(error)
return error
},
debug: devMode,
logger
})