Feat: save cash balance notifications in DB
Feat: add "detail" row in notifications table migration This makes searching for specific notifications in the code like cashbox number easier because we don't need to scrub the notification message column anymore to search for notifications relating the cashbox 1 for example. Feat: clear notifications on cash cassette balance update
This commit is contained in:
parent
2ced230020
commit
196a05549f
5 changed files with 64 additions and 6 deletions
|
|
@ -143,7 +143,7 @@ async function transactionNotify (tx, rec) {
|
|||
const isCashOut = tx.direction === 'cashOut'
|
||||
|
||||
// high value tx on database
|
||||
if(highValueTx) {
|
||||
if(highValueTx && tx.direction === 'cashIn' || highValueTx && tx.direction === 'cashOut' && rec.isRedemption) {
|
||||
queries.addHighValueTx(tx)
|
||||
}
|
||||
|
||||
|
|
@ -205,10 +205,40 @@ async function sendTransactionMessage(rec, isHighValueTx) {
|
|||
return Promise.all(promises)
|
||||
}
|
||||
|
||||
const cashCassettesNotify = (cassettes, deviceId) => {
|
||||
settingsLoader.loadLatest()
|
||||
.then(settings =>
|
||||
[
|
||||
configManager.getNotifications(null, deviceId, settings.config),
|
||||
configManager.getCashOut(deviceId,settings.config).active
|
||||
])
|
||||
.then(([notifications, cashOutEnabled]) => {
|
||||
const cassette1Count = cassettes.cassette1
|
||||
const cassette2Count = cassettes.cassette2
|
||||
const cassette1Threshold = notifications.fiatBalanceCassette1
|
||||
const cassette2Threshold = notifications.fiatBalanceCassette2
|
||||
|
||||
if(cashOutEnabled) {
|
||||
// we only want to add this notification if there isn't one already set and unread in the database
|
||||
Promise.all([queries.getUnreadCassetteNotifications(1), queries.getUnreadCassetteNotifications(2)]).then(res => {
|
||||
if(res[0].length === 0 && cassette1Count < cassette1Threshold) {
|
||||
console.log("Adding fiatBalance alert for cashbox 1 in database - count & threshold: ", cassette1Count, cassette1Threshold )
|
||||
queries.addCashCassetteWarning(1, deviceId)
|
||||
}
|
||||
if(res[1].length === 0 && cassette2Count < cassette2Threshold) {
|
||||
console.log("Adding fiatBalance alert for cashbox 2 in database - count & threshold: ", cassette2Count, cassette2Threshold )
|
||||
queries.addCashCassetteWarning(2, deviceId)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
transactionNotify,
|
||||
checkNotification,
|
||||
checkPings,
|
||||
checkStuckScreen,
|
||||
sendRedemptionMessage
|
||||
sendRedemptionMessage,
|
||||
cashCassettesNotify
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue