const logger = require('../logger') const { ApolloServer } = require('@apollo/server') const devMode = !!require('minimist')(process.argv.slice(2)).dev const 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 */, }) const graphQLServer = new ApolloServer({ typeDefs: require('./types'), resolvers: require('./resolvers'), introspection: false, formatError: error => { logger.error(error) return error }, includeStacktraceInErrorResponses: devMode, logger, }) module.exports = { graphQLServer, context }