refactor: simplify buildAvailableCassettes similarly to buildAvailableRecyclers

This commit is contained in:
siiky 2023-10-23 11:38:48 +01:00
parent f2d07c8cc7
commit 02cfe7530b

View file

@ -153,30 +153,27 @@ function plugins (settings, deviceId) {
if (!cashOutConfig.active) return Promise.resolve()
return Promise.all([dbm.cassetteCounts(deviceId), cashOutHelper.redeemableTxs(deviceId, excludeTxId)])
.then(([_cassettes, _redeemableTxs]) => {
const redeemableTxs = _.reject(_.matchesProperty('id', excludeTxId), _redeemableTxs)
.then(([{ counts, numberOfCassettes }, redeemableTxs]) => {
redeemableTxs = _.reject(_.matchesProperty('id', excludeTxId), redeemableTxs)
const denominations = []
_.forEach(it => {
denominations.push(cashOutConfig[`cassette${it + 1}`])
}, _.times(_.identity(), _cassettes.numberOfCassettes))
const denominations = _.map(
it => cashOutConfig[`cassette${it}`],
_.range(1, numberOfCassettes+1)
)
const virtualCassettes = denominations.length ? [Math.max(...denominations) * 2] : []
const counts = _cassettes.counts
if (counts.length !== denominations.length) {
if (counts.length !== denominations.length)
throw new Error('Denominations and respective counts do not match!')
}
const cassettes = []
_.forEach(it => {
cassettes.push({
const cassettes = _.map(
it => ({
name: `cassette${it + 1}`,
denomination: parseInt(denominations[it], 10),
count: parseInt(counts[it], 10)
})
}, _.times(_.identity(), _cassettes.numberOfCassettes))
}),
_.range(0, numberOfCassettes)
)
const virtualCassettes = denominations.length ? [Math.max(...denominations) * 2] : []
try {
return {