lamassu-server/packages/server/lib/graphql/server.js
2025-05-12 15:35:00 +01:00

27 lines
802 B
JavaScript

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 }