50 lines
1.7 KiB
JavaScript
50 lines
1.7 KiB
JavaScript
var db = require('./db')
|
|
const _ = require('lodash/fp')
|
|
const { migrationSaveConfig, loadLatest } = require('../lib/new-settings-loader')
|
|
const { getMachineIds } = require('../lib/machine-loader')
|
|
|
|
exports.up = function (next) {
|
|
var sql = [
|
|
`ALTER TABLE cash_out_actions
|
|
ADD COLUMN provisioned_3 INTEGER,
|
|
ADD COLUMN provisioned_4 INTEGER,
|
|
ADD COLUMN dispensed_3 INTEGER,
|
|
ADD COLUMN dispensed_4 INTEGER,
|
|
ADD COLUMN rejected_3 INTEGER,
|
|
ADD COLUMN rejected_4 INTEGER,
|
|
ADD COLUMN denomination_3 INTEGER,
|
|
ADD COLUMN denomination_4 INTEGER`,
|
|
`ALTER TABLE devices
|
|
ADD COLUMN cassette3 INTEGER NOT NULL DEFAULT 0,
|
|
ADD COLUMN cassette4 INTEGER NOT NULL DEFAULT 0,
|
|
ADD COLUMN number_of_cassettes INTEGER NOT NULL DEFAULT 2`,
|
|
`ALTER TABLE cash_out_txs
|
|
ADD COLUMN provisioned_3 INTEGER,
|
|
ADD COLUMN provisioned_4 INTEGER,
|
|
ADD COLUMN denomination_3 INTEGER,
|
|
ADD COLUMN denomination_4 INTEGER`
|
|
]
|
|
|
|
return Promise.all([loadLatest(), getMachineIds()])
|
|
.then(([config, machineIds]) => {
|
|
const newConfig = _.reduce((acc, value) => {
|
|
const deviceId = value.device_id
|
|
if (_.includes(`cashOut_${deviceId}_top`, _.keys(config.config))) {
|
|
acc[`cashOut_${deviceId}_cassette1`] = config.config[`cashOut_${deviceId}_top`]
|
|
}
|
|
|
|
if (_.includes(`cashOut_${deviceId}_bottom`, _.keys(config.config))) {
|
|
acc[`cashOut_${deviceId}_cassette2`] = config.config[`cashOut_${deviceId}_bottom`]
|
|
}
|
|
|
|
return acc
|
|
}, {}, machineIds)
|
|
|
|
return migrationSaveConfig(newConfig)
|
|
.then(() => db.multi(sql, next))
|
|
})
|
|
}
|
|
|
|
exports.down = function (next) {
|
|
next()
|
|
}
|