From 686c7a2b36aa3c88a70a78e082de8ff63546b495 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Oliveira?= Date: Fri, 9 Jul 2021 15:35:23 +0100 Subject: [PATCH] refactor: use promise all --- lib/constants.js | 7 ++++++- lib/routes/cashboxRoutes.js | 22 ++++++++++------------ 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/lib/constants.js b/lib/constants.js index 9f140bd3..aa7319fa 100644 --- a/lib/constants.js +++ b/lib/constants.js @@ -9,10 +9,15 @@ const AUTHENTICATOR_ISSUER_ENTITY = 'Lamassu' const AUTH_TOKEN_EXPIRATION_TIME = '30 minutes' const REGISTRATION_TOKEN_EXPIRATION_TIME = '30 minutes' +const AUTOMATIC = 'automatic' +const MANUAL = 'manual' + module.exports = { anonymousCustomer, cassetteMaxCapacity, AUTHENTICATOR_ISSUER_ENTITY, AUTH_TOKEN_EXPIRATION_TIME, - REGISTRATION_TOKEN_EXPIRATION_TIME + REGISTRATION_TOKEN_EXPIRATION_TIME, + AUTOMATIC, + MANUAL } diff --git a/lib/routes/cashboxRoutes.js b/lib/routes/cashboxRoutes.js index e5f06f11..6c740c08 100644 --- a/lib/routes/cashboxRoutes.js +++ b/lib/routes/cashboxRoutes.js @@ -5,20 +5,18 @@ 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) { - return getMachine(req.deviceId) - .then(machine => { - loadLatestConfig() - .then(config => { - const cashInSettings = getCashInSettings(config) - if (cashInSettings.cashboxReset === 'Automatic') { - return cashbox.createCashboxBatch(req.deviceId, machine.cashbox) - .then(() => setMachine({ deviceId: req.deviceId, action: 'emptyCashInBills' })) - .then(() => res.status(200).send({ status: 'OK' })) - } - return res.status(200).send({ status: 'OK' }) - }) + 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' })) + .then(() => res.status(200).send({ status: 'OK' })) }) .catch(next) }