refactor: insert only new fields in user config
This commit is contained in:
parent
3de12e3f6e
commit
e3f57716fe
1 changed files with 26 additions and 28 deletions
|
|
@ -1,43 +1,40 @@
|
||||||
const _ = require('lodash/fp')
|
const _ = require('lodash/fp')
|
||||||
const { saveConfig, loadLatest } = require('../lib/new-settings-loader')
|
const { saveConfig, loadLatest } = require('../lib/new-settings-loader')
|
||||||
|
const { cassetteMaxCapacity } = require('../lib/constants')
|
||||||
|
|
||||||
exports.up = function (next) {
|
exports.up = function (next) {
|
||||||
loadLatest()
|
return loadLatest()
|
||||||
.then(({ config }) => {
|
.then(({ config }) => {
|
||||||
const fiatBalance1 = config.notifications_fiatBalanceCassette1
|
const fiatBalance1 = config.notifications_fiatBalanceCassette1
|
||||||
const fiatBalance2 = config.notifications_fiatBalanceCassette2
|
const fiatBalance2 = config.notifications_fiatBalanceCassette2
|
||||||
|
const overrides = config.notifications_fiatBalanceOverrides
|
||||||
|
const newConfig = {}
|
||||||
if (fiatBalance1) {
|
if (fiatBalance1) {
|
||||||
config.notifications_fiatBalanceCassette1 = (100 * (fiatBalance1 / 500)).toFixed(0)
|
newConfig.notifications_fillingPercentageCassette1 = (100 * (fiatBalance1 / cassetteMaxCapacity)).toFixed(0)
|
||||||
|
newConfig.notifications_fiatBalanceCassette1 = null
|
||||||
}
|
}
|
||||||
if (fiatBalance2) {
|
if (fiatBalance2) {
|
||||||
config.notifications_fiatBalanceCassette2 = (100 * (fiatBalance2 / 500)).toFixed(0)
|
newConfig.notifications_fillingPercentageCassette2 = (100 * (fiatBalance2 / cassetteMaxCapacity)).toFixed(0)
|
||||||
|
newConfig.notifications_fiatBalanceCassette2 = null
|
||||||
}
|
}
|
||||||
|
|
||||||
const {
|
if (overrides) {
|
||||||
notifications_fiatBalanceCassette1: notifications_fillingPercentageCassette1,
|
newConfig.notifications_fiatBalanceOverrides = _.map(override => {
|
||||||
notifications_fiatBalanceCassette2: notifications_fillingPercentageCassette2,
|
if (override.fiatBalanceCassette1) {
|
||||||
...rest
|
override.fiatBalanceCassette1 = (100 * (override.fiatBalanceCassette1 / cassetteMaxCapacity)).toFixed(0)
|
||||||
} = config
|
}
|
||||||
|
if (override.fiatBalanceCassette2) {
|
||||||
config = { notifications_fillingPercentageCassette1, notifications_fillingPercentageCassette2, ...rest }
|
override.fiatBalanceCassette2 = (100 * (override.fiatBalanceCassette2 / cassetteMaxCapacity)).toFixed(0)
|
||||||
|
}
|
||||||
config.notifications_fiatBalanceOverrides = _.map(override => {
|
const {
|
||||||
if (override.fiatBalanceCassette1) {
|
fiatBalanceCassette1: fillingPercentageCassette1,
|
||||||
override.fiatBalanceCassette1 = (100 * (override.fiatBalanceCassette1 / 500)).toFixed(0)
|
fiatBalanceCassette2: fillingPercentageCassette2,
|
||||||
}
|
...rest } = override
|
||||||
if (override.fiatBalanceCassette2) {
|
return { fillingPercentageCassette1, fillingPercentageCassette2, ...rest }
|
||||||
override.fiatBalanceCassette2 = (100 * (override.fiatBalanceCassette2 / 500)).toFixed(0)
|
}, config.notifications_fiatBalanceOverrides)
|
||||||
}
|
}
|
||||||
const {
|
return saveConfig(newConfig)
|
||||||
fiatBalanceCassette1: fillingPercentageCassette1,
|
.then(() => {})
|
||||||
fiatBalanceCassette2: fillingPercentageCassette2,
|
|
||||||
...rest } = override
|
|
||||||
return { fillingPercentageCassette1, fillingPercentageCassette2, ...rest }
|
|
||||||
}, config.notifications_fiatBalanceOverrides)
|
|
||||||
|
|
||||||
return saveConfig(config)
|
|
||||||
.then(() => next())
|
|
||||||
})
|
})
|
||||||
.catch(err => {
|
.catch(err => {
|
||||||
if (err.message === 'lamassu-server is not configured') {
|
if (err.message === 'lamassu-server is not configured') {
|
||||||
|
|
@ -47,6 +44,7 @@ exports.up = function (next) {
|
||||||
return next(err)
|
return next(err)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports.down = function (next) {
|
module.exports.down = function (next) {
|
||||||
next()
|
next()
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue