refactor: move fetchCurrentConfigVersion() to settings loader
This commit is contained in:
parent
d3d4042d97
commit
bb440eedd6
4 changed files with 20 additions and 24 deletions
|
|
@ -3,6 +3,7 @@ const nmd = require('nano-markdown')
|
||||||
|
|
||||||
const plugins = require('../plugins')
|
const plugins = require('../plugins')
|
||||||
const configManager = require('../new-config-manager')
|
const configManager = require('../new-config-manager')
|
||||||
|
const settingsLoader = require('../new-settings-loader')
|
||||||
const { batchGetCustomInfoRequest, getCustomInfoRequests } = require('../new-admin/services/customInfoRequests')
|
const { batchGetCustomInfoRequest, getCustomInfoRequests } = require('../new-admin/services/customInfoRequests')
|
||||||
const state = require('../middlewares/state')
|
const state = require('../middlewares/state')
|
||||||
const { getMachine } = require('../machine-loader')
|
const { getMachine } = require('../machine-loader')
|
||||||
|
|
@ -323,8 +324,7 @@ const terms = (parent, { currentConfigVersion, currentHash }, { deviceId, settin
|
||||||
const isHashNew = hash !== currentHash
|
const isHashNew = hash !== currentHash
|
||||||
const text = isHashNew ? latestTerms.text : null
|
const text = isHashNew ? latestTerms.text : null
|
||||||
|
|
||||||
return plugins(settings, deviceId)
|
return settingsLoader.fetchCurrentConfigVersion()
|
||||||
.fetchCurrentConfigVersion()
|
|
||||||
.catch(() => null)
|
.catch(() => null)
|
||||||
.then(configVersion => isHashNew || _.isNil(currentConfigVersion) || currentConfigVersion < configVersion)
|
.then(configVersion => isHashNew || _.isNil(currentConfigVersion) || currentConfigVersion < configVersion)
|
||||||
.then(isVersionNew => isVersionNew ? _.omit(['text'], latestTerms) : null)
|
.then(isVersionNew => isVersionNew ? _.omit(['text'], latestTerms) : null)
|
||||||
|
|
|
||||||
|
|
@ -228,6 +228,15 @@ function load (versionId) {
|
||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const fetchCurrentConfigVersion = () => {
|
||||||
|
const sql = `SELECT id FROM user_config
|
||||||
|
WHERE type = 'config'
|
||||||
|
AND valid
|
||||||
|
ORDER BY id DESC
|
||||||
|
LIMIT 1`
|
||||||
|
return db.one(sql).then(row => row.id)
|
||||||
|
}
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
saveConfig,
|
saveConfig,
|
||||||
migrationSaveConfig,
|
migrationSaveConfig,
|
||||||
|
|
@ -238,5 +247,6 @@ module.exports = {
|
||||||
loadLatestConfig,
|
loadLatestConfig,
|
||||||
loadLatestConfigOrNone,
|
loadLatestConfigOrNone,
|
||||||
load,
|
load,
|
||||||
removeFromConfig
|
removeFromConfig,
|
||||||
|
fetchCurrentConfigVersion,
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ const logger = require('./logger')
|
||||||
const logs = require('./logs')
|
const logs = require('./logs')
|
||||||
const T = require('./time')
|
const T = require('./time')
|
||||||
const configManager = require('./new-config-manager')
|
const configManager = require('./new-config-manager')
|
||||||
|
const settingsLoader = require('./new-settings-loader')
|
||||||
const ticker = require('./ticker')
|
const ticker = require('./ticker')
|
||||||
const wallet = require('./wallet')
|
const wallet = require('./wallet')
|
||||||
const walletScoring = require('./wallet-scoring')
|
const walletScoring = require('./wallet-scoring')
|
||||||
|
|
@ -237,15 +238,6 @@ function plugins (settings, deviceId) {
|
||||||
.then(([cassettes, recyclers]) => ({ cassettes: cassettes.cassettes, recyclers: recyclers.recyclers }))
|
.then(([cassettes, recyclers]) => ({ cassettes: cassettes.cassettes, recyclers: recyclers.recyclers }))
|
||||||
}
|
}
|
||||||
|
|
||||||
function fetchCurrentConfigVersion () {
|
|
||||||
const sql = `SELECT id FROM user_config
|
|
||||||
WHERE type = 'config'
|
|
||||||
AND valid
|
|
||||||
ORDER BY id DESC
|
|
||||||
LIMIT 1`
|
|
||||||
return db.one(sql).then(row => row.id)
|
|
||||||
}
|
|
||||||
|
|
||||||
function mapCoinSettings (coinParams) {
|
function mapCoinSettings (coinParams) {
|
||||||
const [ cryptoCode, cryptoNetwork ] = coinParams
|
const [ cryptoCode, cryptoNetwork ] = coinParams
|
||||||
const commissions = configManager.getCommissions(cryptoCode, deviceId, settings.config)
|
const commissions = configManager.getCommissions(cryptoCode, deviceId, settings.config)
|
||||||
|
|
@ -287,7 +279,7 @@ function plugins (settings, deviceId) {
|
||||||
return Promise.all([
|
return Promise.all([
|
||||||
buildAvailableCassettes(),
|
buildAvailableCassettes(),
|
||||||
buildAvailableRecyclers(),
|
buildAvailableRecyclers(),
|
||||||
fetchCurrentConfigVersion(),
|
settingsLoader.fetchCurrentConfigVersion(),
|
||||||
millisecondsToMinutes(getTimezoneOffset(localeConfig.timezone)),
|
millisecondsToMinutes(getTimezoneOffset(localeConfig.timezone)),
|
||||||
loyalty.getNumberOfAvailablePromoCodes(),
|
loyalty.getNumberOfAvailablePromoCodes(),
|
||||||
Promise.all(supportsBatchingPromise),
|
Promise.all(supportsBatchingPromise),
|
||||||
|
|
@ -1030,7 +1022,6 @@ function plugins (settings, deviceId) {
|
||||||
sell,
|
sell,
|
||||||
getNotificationConfig,
|
getNotificationConfig,
|
||||||
notifyOperator,
|
notifyOperator,
|
||||||
fetchCurrentConfigVersion,
|
|
||||||
pruneMachinesHeartbeat,
|
pruneMachinesHeartbeat,
|
||||||
rateAddress,
|
rateAddress,
|
||||||
isWalletScoringEnabled,
|
isWalletScoringEnabled,
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ const nmd = require('nano-markdown')
|
||||||
const router = express.Router()
|
const router = express.Router()
|
||||||
|
|
||||||
const configManager = require('../new-config-manager')
|
const configManager = require('../new-config-manager')
|
||||||
const plugins = require('../plugins')
|
const settingsLoader = require('../new-settings-loader')
|
||||||
|
|
||||||
const createTerms = terms => (terms.active && terms.text) ? ({
|
const createTerms = terms => (terms.active && terms.text) ? ({
|
||||||
delay: terms.delay,
|
delay: terms.delay,
|
||||||
|
|
@ -18,15 +18,10 @@ const createTerms = terms => (terms.active && terms.text) ? ({
|
||||||
|
|
||||||
function getTermsConditions (req, res, next) {
|
function getTermsConditions (req, res, next) {
|
||||||
const deviceId = req.deviceId
|
const deviceId = req.deviceId
|
||||||
const settings = req.settings
|
const { config } = req.settings
|
||||||
|
const terms = configManager.getTermsConditions(config)
|
||||||
const terms = configManager.getTermsConditions(settings.config)
|
return settingsLoader.fetchCurrentConfigVersion()
|
||||||
|
.then(version => res.json({ terms: createTerms(terms), version }))
|
||||||
const pi = plugins(settings, deviceId)
|
|
||||||
|
|
||||||
return pi.fetchCurrentConfigVersion().then(version => {
|
|
||||||
return res.json({ terms: createTerms(terms), version })
|
|
||||||
})
|
|
||||||
.catch(next)
|
.catch(next)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue