refactor: move getCustomInfoRequests call out of config manager

This commit is contained in:
André Sá 2022-04-26 15:23:42 +01:00
parent 2f1d60b7e5
commit 6c43f7536d
3 changed files with 14 additions and 10 deletions

View file

@ -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),

View file

@ -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,
}

View file

@ -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