refactor: move fetchCurrentConfigVersion() to settings loader

This commit is contained in:
siiky 2024-09-17 18:16:10 +01:00
parent d3d4042d97
commit bb440eedd6
4 changed files with 20 additions and 24 deletions

View file

@ -3,6 +3,7 @@ const nmd = require('nano-markdown')
const plugins = require('../plugins')
const configManager = require('../new-config-manager')
const settingsLoader = require('../new-settings-loader')
const { batchGetCustomInfoRequest, getCustomInfoRequests } = require('../new-admin/services/customInfoRequests')
const state = require('../middlewares/state')
const { getMachine } = require('../machine-loader')
@ -323,8 +324,7 @@ const terms = (parent, { currentConfigVersion, currentHash }, { deviceId, settin
const isHashNew = hash !== currentHash
const text = isHashNew ? latestTerms.text : null
return plugins(settings, deviceId)
.fetchCurrentConfigVersion()
return settingsLoader.fetchCurrentConfigVersion()
.catch(() => null)
.then(configVersion => isHashNew || _.isNil(currentConfigVersion) || currentConfigVersion < configVersion)
.then(isVersionNew => isVersionNew ? _.omit(['text'], latestTerms) : null)

View file

@ -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 = {
saveConfig,
migrationSaveConfig,
@ -238,5 +247,6 @@ module.exports = {
loadLatestConfig,
loadLatestConfigOrNone,
load,
removeFromConfig
removeFromConfig,
fetchCurrentConfigVersion,
}

View file

@ -11,6 +11,7 @@ const logger = require('./logger')
const logs = require('./logs')
const T = require('./time')
const configManager = require('./new-config-manager')
const settingsLoader = require('./new-settings-loader')
const ticker = require('./ticker')
const wallet = require('./wallet')
const walletScoring = require('./wallet-scoring')
@ -237,15 +238,6 @@ function plugins (settings, deviceId) {
.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) {
const [ cryptoCode, cryptoNetwork ] = coinParams
const commissions = configManager.getCommissions(cryptoCode, deviceId, settings.config)
@ -287,7 +279,7 @@ function plugins (settings, deviceId) {
return Promise.all([
buildAvailableCassettes(),
buildAvailableRecyclers(),
fetchCurrentConfigVersion(),
settingsLoader.fetchCurrentConfigVersion(),
millisecondsToMinutes(getTimezoneOffset(localeConfig.timezone)),
loyalty.getNumberOfAvailablePromoCodes(),
Promise.all(supportsBatchingPromise),
@ -1030,7 +1022,6 @@ function plugins (settings, deviceId) {
sell,
getNotificationConfig,
notifyOperator,
fetchCurrentConfigVersion,
pruneMachinesHeartbeat,
rateAddress,
isWalletScoringEnabled,

View file

@ -4,7 +4,7 @@ const nmd = require('nano-markdown')
const router = express.Router()
const configManager = require('../new-config-manager')
const plugins = require('../plugins')
const settingsLoader = require('../new-settings-loader')
const createTerms = terms => (terms.active && terms.text) ? ({
delay: terms.delay,
@ -18,15 +18,10 @@ const createTerms = terms => (terms.active && terms.text) ? ({
function getTermsConditions (req, res, next) {
const deviceId = req.deviceId
const settings = req.settings
const terms = configManager.getTermsConditions(settings.config)
const pi = plugins(settings, deviceId)
return pi.fetchCurrentConfigVersion().then(version => {
return res.json({ terms: createTerms(terms), version })
})
const { config } = req.settings
const terms = configManager.getTermsConditions(config)
return settingsLoader.fetchCurrentConfigVersion()
.then(version => res.json({ terms: createTerms(terms), version }))
.catch(next)
}