fix: high value notifications, if configured, are now triggered even if

transactions notifications are globally disabled (for sms or email)

fix: added extra information on the sms notification informing if the
transaction that just happened is a high value one
This commit is contained in:
Liordino Neto 2020-11-01 12:14:02 -03:00 committed by Josh Harvey
parent 13633b06bd
commit 5b502c1395

View file

@ -355,7 +355,7 @@ function plugins (settings, deviceId) {
const notificationsEnabled = notifications.sms.transactions || notifications.email.transactions const notificationsEnabled = notifications.sms.transactions || notifications.email.transactions
const highValueTx = tx.fiat.gt(notifications.highValueTransaction || Infinity) const highValueTx = tx.fiat.gt(notifications.highValueTransaction || Infinity)
if (!notificationsEnabled || !highValueTx) return Promise.resolve() if (!notificationsEnabled && !highValueTx) return Promise.resolve()
const isCashOut = tx.direction === 'cashOut' const isCashOut = tx.direction === 'cashOut'
const zeroConf = isCashOut && isZeroConf(tx) const zeroConf = isCashOut && isZeroConf(tx)
@ -393,9 +393,9 @@ function plugins (settings, deviceId) {
- Customer: ${customerName} - Customer: ${customerName}
${phone} ${phone}
` `
const subject = `A transaction just happened` const subject = `A ${highValueTx ? 'high value ' : ''}transaction just happened`
return { return [{
sms: { sms: {
body: `${subject} - ${status}` body: `${subject} - ${status}`
}, },
@ -403,9 +403,9 @@ function plugins (settings, deviceId) {
subject, subject,
body body
} }
} }, highValueTx]
}) })
.then(sendTransactionMessage) .then(([rec, highValueTx]) => sendTransactionMessage(rec, highValueTx))
} }
function sendRedemptionMessage (txId, error) { function sendRedemptionMessage (txId, error) {
@ -611,15 +611,15 @@ function plugins (settings, deviceId) {
return Promise.all(promises) return Promise.all(promises)
} }
function sendTransactionMessage (rec) { function sendTransactionMessage (rec, isHighValueTx) {
const notifications = configManager.getGlobalNotifications(settings.config) const notifications = configManager.getGlobalNotifications(settings.config)
let promises = [] let promises = []
const emailActive = notifications.email.active && notifications.email.transactions const emailActive = notifications.email.active && (notifications.email.transactions || isHighValueTx)
if (emailActive) promises.push(email.sendMessage(settings, rec)) if (emailActive) promises.push(email.sendMessage(settings, rec))
const smsActive = notifications.sms.active && notifications.sms.transactions const smsActive = notifications.sms.active && (notifications.sms.transactions || isHighValueTx)
if (smsActive) promises.push(sms.sendMessage(settings, rec)) if (smsActive) promises.push(sms.sendMessage(settings, rec))
return Promise.all(promises) return Promise.all(promises)