lamassu-server/lib/routes/cashboxRoutes.js
Sérgio Salgado 7135a03654 feat: add operatorId to l-a-s middlewares
fix: make changes to db event handler to receive more complex payloads
feat: machine actions previously on REST now work based on notifications
feat: state middleware now operates based on operatorId as well
chore: remove old localAppRoutes related code
2021-11-16 16:46:45 +00:00

27 lines
1 KiB
JavaScript

const express = require('express')
const router = express.Router()
const cashbox = require('../cashbox-batches')
const { getMachine, setMachine } = require('../machine-loader')
const { loadLatestConfig } = require('../new-settings-loader')
const { getCashInSettings } = require('../new-config-manager')
const { AUTOMATIC } = require('../constants.js')
function notifyCashboxRemoval (req, res, next) {
const operatorId = res.locals.operatorId
return Promise.all([getMachine(req.deviceId), loadLatestConfig()])
.then(([machine, config]) => {
const cashInSettings = getCashInSettings(config)
if (cashInSettings.cashboxReset !== AUTOMATIC) {
return res.status(200).send({ status: 'OK' })
}
return cashbox.createCashboxBatch(req.deviceId, machine.cashbox)
.then(() => setMachine({ deviceId: req.deviceId, action: 'emptyCashInBills' }, operatorId))
.then(() => res.status(200).send({ status: 'OK' }))
})
.catch(next)
}
router.post('/removal', notifyCashboxRemoval)
module.exports = router