refactor: use notification codes & explicitly test all possible codes
This commit is contained in:
parent
5c39140ea8
commit
815fd36ede
1 changed files with 24 additions and 16 deletions
|
|
@ -2,20 +2,26 @@ const _ = require('lodash/fp')
|
||||||
|
|
||||||
const queries = require('./queries')
|
const queries = require('./queries')
|
||||||
const utils = require('./utils')
|
const utils = require('./utils')
|
||||||
const codes = require('./codes')
|
|
||||||
const customers = require('../customers')
|
const customers = require('../customers')
|
||||||
|
const {
|
||||||
const { NOTIFICATION_TYPES: {
|
NOTIFICATION_TYPES: {
|
||||||
SECURITY,
|
SECURITY,
|
||||||
COMPLIANCE,
|
COMPLIANCE,
|
||||||
CRYPTO_BALANCE,
|
CRYPTO_BALANCE,
|
||||||
FIAT_BALANCE,
|
FIAT_BALANCE,
|
||||||
ERROR,
|
ERROR,
|
||||||
HIGH_VALUE_TX,
|
HIGH_VALUE_TX,
|
||||||
NORMAL_VALUE_TX }
|
NORMAL_VALUE_TX
|
||||||
} = codes
|
},
|
||||||
|
|
||||||
const { STALE, PING } = codes
|
STALE,
|
||||||
|
PING,
|
||||||
|
|
||||||
|
HIGH_CRYPTO_BALANCE,
|
||||||
|
LOW_CRYPTO_BALANCE,
|
||||||
|
CASH_BOX_FULL,
|
||||||
|
LOW_CASH_OUT,
|
||||||
|
} = require('./codes')
|
||||||
|
|
||||||
const sanctionsNotify = (customer, phone) => {
|
const sanctionsNotify = (customer, phone) => {
|
||||||
const code = 'SANCTIONS'
|
const code = 'SANCTIONS'
|
||||||
|
|
@ -71,9 +77,11 @@ const fiatBalancesNotify = (fiatWarnings) => {
|
||||||
const { cassette, deviceId } = o.detail
|
const { cassette, deviceId } = o.detail
|
||||||
return cassette === balance.cassette && deviceId === balance.deviceId
|
return cassette === balance.cassette && deviceId === balance.deviceId
|
||||||
}, notInvalidated)) return
|
}, notInvalidated)) return
|
||||||
const message = balance.code === 'LOW_CASH_OUT' ?
|
const message = balance.code === LOW_CASH_OUT ?
|
||||||
`Cash-out cassette ${balance.cassette} low or empty!` :
|
`Cash-out cassette ${balance.cassette} low or empty!` :
|
||||||
`Cash box full or almost full!`
|
balance.code === CASH_BOX_FULL ?
|
||||||
|
`Cash box full or almost full!` :
|
||||||
|
`Cash box full or almost full!` /* Shouldn't happen */
|
||||||
const detailB = utils.buildDetail({ deviceId: balance.deviceId, cassette: balance.cassette })
|
const detailB = utils.buildDetail({ deviceId: balance.deviceId, cassette: balance.cassette })
|
||||||
return queries.addNotification(FIAT_BALANCE, message, detailB)
|
return queries.addNotification(FIAT_BALANCE, message, detailB)
|
||||||
})
|
})
|
||||||
|
|
@ -105,7 +113,7 @@ const cryptoBalancesNotify = (cryptoWarnings) => {
|
||||||
}, notInvalidated)) return
|
}, notInvalidated)) return
|
||||||
|
|
||||||
const fiat = utils.formatCurrency(balance.fiatBalance.balance, balance.fiatCode)
|
const fiat = utils.formatCurrency(balance.fiatBalance.balance, balance.fiatCode)
|
||||||
const message = `${balance.code === 'HIGH_CRYPTO_BALANCE' ? 'High' : 'Low'} balance in ${balance.cryptoCode} [${fiat}]`
|
const message = `${balance.code === HIGH_CRYPTO_BALANCE ? 'High' : 'Low'} balance in ${balance.cryptoCode} [${fiat}]`
|
||||||
const detailB = utils.buildDetail({ cryptoCode: balance.cryptoCode, code: balance.code })
|
const detailB = utils.buildDetail({ cryptoCode: balance.cryptoCode, code: balance.code })
|
||||||
return queries.addNotification(CRYPTO_BALANCE, message, detailB)
|
return queries.addNotification(CRYPTO_BALANCE, message, detailB)
|
||||||
})
|
})
|
||||||
|
|
@ -113,8 +121,8 @@ const cryptoBalancesNotify = (cryptoWarnings) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
const balancesNotify = (balances) => {
|
const balancesNotify = (balances) => {
|
||||||
const isCryptoCode = c => _.includes(c, ['HIGH_CRYPTO_BALANCE', 'LOW_CRYPTO_BALANCE'])
|
const isCryptoCode = c => _.includes(c, [HIGH_CRYPTO_BALANCE, LOW_CRYPTO_BALANCE])
|
||||||
const isFiatCode = c => _.includes(c, ['LOW_CASH_OUT', 'CASH_BOX_FULL'])
|
const isFiatCode = c => _.includes(c, [LOW_CASH_OUT, CASH_BOX_FULL])
|
||||||
const by = o =>
|
const by = o =>
|
||||||
isCryptoCode(o) ? 'crypto' :
|
isCryptoCode(o) ? 'crypto' :
|
||||||
isFiatCode(o) ? 'fiat' :
|
isFiatCode(o) ? 'fiat' :
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue