lamassu-server/migrations/1619968992683-fiat-balance-notification-to-percent.js
Sérgio Salgado 2967ad3a75 fix: multiple fixes related with recyclers/stackers
feat: add bill destination unit for cash-in txs
feat: l-m communication regarding cash unit state
2023-06-07 14:27:42 +01:00

63 lines
2.7 KiB
JavaScript

const _ = require('lodash/fp')
const { migrationSaveConfig, loadLatest } = require('../lib/new-settings-loader')
const CASSETTE_MAX_CAPACITY = 500
exports.up = function (next) {
return loadLatest()
.then(({ config }) => {
const fiatBalance1 = config.notifications_fiatBalanceCassette1
const fiatBalance2 = config.notifications_fiatBalanceCassette2
const fiatBalance3 = config.notifications_fiatBalanceCassette3
const fiatBalance4 = config.notifications_fiatBalanceCassette4
const overrides = config.notifications_fiatBalanceOverrides
const newConfig = {}
if (fiatBalance1) {
newConfig.notifications_fillingPercentageCassette1 = (100 * (fiatBalance1 / CASSETTE_MAX_CAPACITY)).toFixed(0)
newConfig.notifications_fiatBalanceCassette1 = null
}
if (fiatBalance2) {
newConfig.notifications_fillingPercentageCassette2 = (100 * (fiatBalance2 / CASSETTE_MAX_CAPACITY)).toFixed(0)
newConfig.notifications_fiatBalanceCassette2 = null
}
if (fiatBalance3) {
newConfig.notifications_fillingPercentageCassette3 = (100 * (fiatBalance3 / CASSETTE_MAX_CAPACITY)).toFixed(0)
newConfig.notifications_fiatBalanceCassette3 = null
}
if (fiatBalance4) {
newConfig.notifications_fillingPercentageCassette4 = (100 * (fiatBalance4 / CASSETTE_MAX_CAPACITY)).toFixed(0)
newConfig.notifications_fiatBalanceCassette4 = null
}
if (overrides) {
newConfig.notifications_fiatBalanceOverrides = _.map(override => {
const newOverride = {}
if (override.fiatBalanceCassette1) {
newOverride.fillingPercentageCassette1 = (100 * (override.fiatBalanceCassette1 / CASSETTE_MAX_CAPACITY)).toFixed(0)
}
if (override.fiatBalanceCassette2) {
newOverride.fillingPercentageCassette2 = (100 * (override.fiatBalanceCassette2 / CASSETTE_MAX_CAPACITY)).toFixed(0)
}
if (override.fiatBalanceCassette3) {
newOverride.fillingPercentageCassette3 = (100 * (override.fiatBalanceCassette3 / CASSETTE_MAX_CAPACITY)).toFixed(0)
}
if (override.fiatBalanceCassette4) {
newOverride.fillingPercentageCassette4 = (100 * (override.fiatBalanceCassette4 / CASSETTE_MAX_CAPACITY)).toFixed(0)
}
newOverride.machine = override.machine
newOverride.id = override.id
return newOverride
}, config.notifications_fiatBalanceOverrides)
}
return migrationSaveConfig(newConfig)
.then(() => next())
})
.catch(err => {
console.log(err.message)
return next(err)
})
}
module.exports.down = function (next) {
next()
}