chore: migrating to nodejs 22

This commit is contained in:
Rafael Taranto 2025-03-08 12:28:23 +00:00
parent 0296f86060
commit 2e31ab391f
47 changed files with 16384 additions and 11137 deletions

View file

@ -1,5 +1,4 @@
const express = require('express')
const argv = require('minimist')(process.argv.slice(2))
const compression = require('compression')
const helmet = require('helmet')
const morgan = require('morgan')
@ -35,84 +34,97 @@ const verifyPromoCodeRoutes = require('./routes/verifyPromoCodeRoutes')
const probeRoutes = require('./routes/probeLnRoutes')
const failedQRScansRoutes = require('./routes/failedQRScans')
const graphQLServer = require('./graphql/server')
const { graphQLServer, context } = require('./graphql/server')
const app = express()
const { expressMiddleware } = require('@apollo/server/express4')
const configRequiredRoutes = [
'/poll',
'/terms_conditions',
'/event',
'/phone_code',
'/customer',
'/tx',
'/verify_promo_code',
'/graphql'
]
const loadRoutes = async () => {
const app = express()
// middleware setup
app.use(addRWBytes())
app.use(compression({ threshold: 500 }))
app.use(helmet())
app.use(nocache())
app.use(express.json({ limit: '2mb' }))
const configRequiredRoutes = [
'/poll',
'/terms_conditions',
'/event',
'/phone_code',
'/customer',
'/tx',
'/verify_promo_code',
'/graphql'
]
morgan.token('bytesRead', (_req, res) => res.bytesRead)
morgan.token('bytesWritten', (_req, res) => res.bytesWritten)
app.use(morgan(':method :url :status :response-time ms -- :bytesRead/:bytesWritten B', { stream: logger.stream }))
// middleware setup
app.use(addRWBytes())
app.use(compression({ threshold: 500 }))
app.use(helmet())
app.use(nocache())
app.use(express.json({ limit: '2mb' }))
app.use('/robots.txt', (req, res) => {
res.type('text/plain')
res.send("User-agent: *\nDisallow: /")
})
morgan.token('bytesRead', (_req, res) => res.bytesRead)
morgan.token('bytesWritten', (_req, res) => res.bytesWritten)
app.use(morgan(':method :url :status :response-time ms -- :bytesRead/:bytesWritten B', { stream: logger.stream }))
app.get('/', (req, res) => {
res.sendStatus(404)
})
app.use('/robots.txt', (req, res) => {
res.type('text/plain')
res.send("User-agent: *\nDisallow: /")
})
// app /pair and /ca routes
app.use('/', pairingRoutes)
app.get('/', (req, res) => {
res.sendStatus(404)
})
app.use(findOperatorId)
app.use(populateDeviceId)
app.use(computeSchema)
app.use(authorize)
app.use(configRequiredRoutes, populateSettings)
app.use(filterOldRequests)
// app /pair and /ca routes
app.use('/', pairingRoutes)
// other app routes
app.use('/graphql', recordPing)
app.use('/poll', pollingRoutes)
app.use('/terms_conditions', termsAndConditionsRoutes)
app.use('/state', stateRoutes)
app.use('/cashbox', cashboxRoutes)
app.use(findOperatorId)
app.use(populateDeviceId)
app.use(computeSchema)
app.use(authorize)
app.use(configRequiredRoutes, populateSettings)
app.use(filterOldRequests)
app.use('/network', performanceRoutes)
app.use('/diagnostics', diagnosticsRoutes)
app.use('/failedqrscans', failedQRScansRoutes)
// other app routes
app.use('/graphql', recordPing)
app.use('/poll', pollingRoutes)
app.use('/terms_conditions', termsAndConditionsRoutes)
app.use('/state', stateRoutes)
app.use('/cashbox', cashboxRoutes)
app.use('/verify_user', verifyUserRoutes)
app.use('/verify_transaction', verifyTxRoutes)
app.use('/verify_promo_code', verifyPromoCodeRoutes)
app.use('/network', performanceRoutes)
app.use('/diagnostics', diagnosticsRoutes)
app.use('/failedqrscans', failedQRScansRoutes)
// BACKWARDS_COMPATIBILITY 9.0
// machines before 9.0 still use the phone_code route
app.use('/phone_code', phoneCodeRoutes)
app.use('/verify_user', verifyUserRoutes)
app.use('/verify_transaction', verifyTxRoutes)
app.use('/verify_promo_code', verifyPromoCodeRoutes)
app.use('/customer', customerRoutes)
// BACKWARDS_COMPATIBILITY 9.0
// machines before 9.0 still use the phone_code route
app.use('/phone_code', phoneCodeRoutes)
app.use('/tx', txRoutes)
app.use('/customer', customerRoutes)
app.use('/logs', logsRoutes)
app.use('/units', unitsRoutes)
app.use('/tx', txRoutes)
app.use('/probe', probeRoutes)
app.use('/logs', logsRoutes)
app.use('/units', unitsRoutes)
graphQLServer.applyMiddleware({ app })
app.use('/probe', probeRoutes)
app.use(errorHandler)
app.use((req, res) => {
res.status(404).json({ error: 'No such route' })
})
await graphQLServer.start()
app.use('/graphql',
express.json(),
expressMiddleware(graphQLServer, {
context,
}),
);
module.exports = { app }
app.use(errorHandler)
app.use((req, res) => {
res.status(404).json({ error: 'No such route' })
})
return app
}
module.exports = { loadRoutes }