From cb6df3f86cddb3898a2db07c5582df55e16709fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20Salgado?= Date: Mon, 21 Nov 2022 19:12:49 +0000 Subject: [PATCH] fix: add backwards compatibility code --- lib/new-config-manager.js | 17 ++++++++++++----- lib/routes/pollingRoutes.js | 2 +- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/lib/new-config-manager.js b/lib/new-config-manager.js index 978f1bed..8c218d35 100644 --- a/lib/new-config-manager.js +++ b/lib/new-config-manager.js @@ -118,25 +118,32 @@ const getGlobalNotifications = config => getNotifications(null, null, config) const getTriggers = _.get('triggers') /* `customInfoRequests` is the result of a call to `getCustomInfoRequests` */ -const getTriggersAutomation = (customInfoRequests, config) => { +const getTriggersAutomation = (customInfoRequests, config, oldFormat = false) => { return customInfoRequests .then(infoRequests => { const defaultAutomation = _.get('triggersConfig_automation')(config) + const overrides = _.get('triggersConfig_overrides')(config) + const requirements = { sanctions: defaultAutomation, idCardPhoto: defaultAutomation, idCardData: defaultAutomation, facephoto: defaultAutomation, - usSsn: defaultAutomation, - custom: [] + usSsn: defaultAutomation } + if (oldFormat) { + _.forEach(it => { requirements[it.id] = defaultAutomation }, infoRequests) + const oldRequirementsOverrides = _.reduce((acc, override) => _.assign(acc, { [override.requirement]: override.automation }), {}, overrides) + return _.assign(requirements, oldRequirementsOverrides) + } + + requirements.custom = [] + _.forEach(it => { requirements.custom.push({ id: it.id, type: defaultAutomation }) }, infoRequests) - const overrides = _.get('triggersConfig_overrides')(config) - const requirementsOverrides = _.reduce((acc, override) => { return _.assign( acc, diff --git a/lib/routes/pollingRoutes.js b/lib/routes/pollingRoutes.js index e0f4b4c2..00aacd54 100644 --- a/lib/routes/pollingRoutes.js +++ b/lib/routes/pollingRoutes.js @@ -85,7 +85,7 @@ function poll (req, res, next) { pi.recordPing(deviceTime, machineVersion, machineModel), pi.pollQueries(), buildTriggers(configManager.getTriggers(settings.config)), - configManager.getTriggersAutomation(getCustomInfoRequests(true), settings.config), + configManager.getTriggersAutomation(getCustomInfoRequests(true), settings.config, true), ]) .then(([_pingRes, results, triggers, triggersAutomation]) => { const reboot = pid && state.reboots?.[operatorId]?.[deviceId] === pid