diff --git a/lib/graphql/resolvers.js b/lib/graphql/resolvers.js index eb628fe7..01c2adb5 100644 --- a/lib/graphql/resolvers.js +++ b/lib/graphql/resolvers.js @@ -4,7 +4,7 @@ const nmd = require('nano-markdown') const { accounts: accountsConfig, countries, languages } = require('../new-admin/config') const plugins = require('../plugins') const configManager = require('../new-config-manager') -const customRequestQueries = require('../new-admin/services/customInfoRequests') +const { batchGetCustomInfoRequest, getCustomInfoRequests } = require('../new-admin/services/customInfoRequests') const state = require('../middlewares/state') const VERSION = require('../../package.json').version @@ -56,7 +56,7 @@ const buildTriggers = (allTriggers) => { return _.flow( _.map(_.get('customInfoRequestId')), - customRequestQueries.batchGetCustomInfoRequest + batchGetCustomInfoRequest )(customTriggers) .then(res => { res.forEach((details, index) => { @@ -106,7 +106,7 @@ const staticConfig = ({ currentConfigVersion, deviceId, deviceName, pq, settings return Promise.all([ !!configManager.getCompliance(settings.config).enablePaperWalletOnly, - configManager.getTriggersAutomation(customRequestQueries.getCustomInfoRequests(), settings.config), + configManager.getTriggersAutomation(getCustomInfoRequests(true), settings.config), buildTriggers(configManager.getTriggers(settings.config)), configManager.getWalletSettings('BTC', settings.config).layer2 !== 'no-layer2', configManager.getLocale(deviceId, settings.config), diff --git a/lib/new-config-manager.js b/lib/new-config-manager.js index 8951b2a4..58638ebc 100644 --- a/lib/new-config-manager.js +++ b/lib/new-config-manager.js @@ -1,5 +1,4 @@ const _ = require('lodash/fp') -const { getCustomInfoRequests } = require('./new-admin/services/customInfoRequests') const namespaces = { ADVANCED: 'advanced', @@ -21,6 +20,7 @@ const filter = namespace => _.pickBy((value, key) => _.startsWith(`${namespace}_ const strip = key => _.mapKeys(stripl(`${key}_`)) const fromNamespace = _.curry((key, config) => _.compose(strip(key), filter(key))(config)) +const toNamespace = _.curry((ns, config) => _.mapKeys(key => `${ns}_${key}`, config)) const getCommissions = (cryptoCode, deviceId, config) => { const commissions = fromNamespace(namespaces.COMMISSIONS)(config) @@ -116,8 +116,9 @@ const getGlobalNotifications = config => getNotifications(null, null, config) const getTriggers = _.get('triggers') -const getTriggersAutomation = config => { - return getCustomInfoRequests(true) +/* `customInfoRequests` is the result of a call to `getCustomInfoRequests` */ +const getTriggersAutomation = (customInfoRequests, config) => { + return customInfoRequests .then(infoRequests => { const defaultAutomation = _.get('triggersConfig_automation')(config) const requirements = { @@ -154,6 +155,8 @@ const getCryptoUnits = (crypto, config) => { return getWalletSettings(crypto, config).cryptoUnits } +const setTermsConditions = toNamespace(namespaces.TERMS_CONDITIONS) + module.exports = { getWalletSettings, getCashInSettings, @@ -173,5 +176,6 @@ module.exports = { getGlobalCashOut, getCashOut, getCryptosFromWalletNamespace, - getCryptoUnits + getCryptoUnits, + setTermsConditions, } diff --git a/lib/routes/pollingRoutes.js b/lib/routes/pollingRoutes.js index 89e7aab1..e0f4b4c2 100644 --- a/lib/routes/pollingRoutes.js +++ b/lib/routes/pollingRoutes.js @@ -10,7 +10,7 @@ const plugins = require('../plugins') const semver = require('semver') const state = require('../middlewares/state') const version = require('../../package.json').version -const customRequestQueries = require('../new-admin/services/customInfoRequests') +const { batchGetCustomInfoRequest, getCustomInfoRequests } = require('../new-admin/services/customInfoRequests') const urlsToPing = [ `us.archive.ubuntu.com`, @@ -45,7 +45,7 @@ const buildTriggers = (allTriggers) => { return !_.isNil(o.customInfoRequestId) && !_.isEmpty(o.customInfoRequestId) }, allTriggers) - return _.flow([_.map(_.get('customInfoRequestId')), customRequestQueries.batchGetCustomInfoRequest])(customTriggers) + return _.flow([_.map(_.get('customInfoRequestId')), batchGetCustomInfoRequest])(customTriggers) .then(res => { res.forEach((details, index) => { // make sure we aren't attaching the details to the wrong trigger @@ -85,7 +85,7 @@ function poll (req, res, next) { pi.recordPing(deviceTime, machineVersion, machineModel), pi.pollQueries(), buildTriggers(configManager.getTriggers(settings.config)), - configManager.getTriggersAutomation(settings.config) + configManager.getTriggersAutomation(getCustomInfoRequests(true), settings.config), ]) .then(([_pingRes, results, triggers, triggersAutomation]) => { const reboot = pid && state.reboots?.[operatorId]?.[deviceId] === pid