From 815fd36ede15c59ff11ac1c7ac2f2dc2b6a6bb76 Mon Sep 17 00:00:00 2001 From: siiky Date: Mon, 28 Oct 2024 16:26:10 +0000 Subject: [PATCH] refactor: use notification codes & explicitly test all possible codes --- lib/notifier/notificationCenter.js | 40 ++++++++++++++++++------------ 1 file changed, 24 insertions(+), 16 deletions(-) diff --git a/lib/notifier/notificationCenter.js b/lib/notifier/notificationCenter.js index 06f6e0ca..b53ca4eb 100644 --- a/lib/notifier/notificationCenter.js +++ b/lib/notifier/notificationCenter.js @@ -2,20 +2,26 @@ const _ = require('lodash/fp') const queries = require('./queries') const utils = require('./utils') -const codes = require('./codes') const customers = require('../customers') +const { + NOTIFICATION_TYPES: { + SECURITY, + COMPLIANCE, + CRYPTO_BALANCE, + FIAT_BALANCE, + ERROR, + HIGH_VALUE_TX, + NORMAL_VALUE_TX + }, -const { NOTIFICATION_TYPES: { - SECURITY, - COMPLIANCE, - CRYPTO_BALANCE, - FIAT_BALANCE, - ERROR, - HIGH_VALUE_TX, - NORMAL_VALUE_TX } -} = codes + STALE, + PING, -const { STALE, PING } = codes + HIGH_CRYPTO_BALANCE, + LOW_CRYPTO_BALANCE, + CASH_BOX_FULL, + LOW_CASH_OUT, +} = require('./codes') const sanctionsNotify = (customer, phone) => { const code = 'SANCTIONS' @@ -71,9 +77,11 @@ const fiatBalancesNotify = (fiatWarnings) => { const { cassette, deviceId } = o.detail return cassette === balance.cassette && deviceId === balance.deviceId }, 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 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 }) return queries.addNotification(FIAT_BALANCE, message, detailB) }) @@ -105,7 +113,7 @@ const cryptoBalancesNotify = (cryptoWarnings) => { }, notInvalidated)) return 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 }) return queries.addNotification(CRYPTO_BALANCE, message, detailB) }) @@ -113,8 +121,8 @@ const cryptoBalancesNotify = (cryptoWarnings) => { } const balancesNotify = (balances) => { - const isCryptoCode = c => _.includes(c, ['HIGH_CRYPTO_BALANCE', 'LOW_CRYPTO_BALANCE']) - const isFiatCode = c => _.includes(c, ['LOW_CASH_OUT', 'CASH_BOX_FULL']) + const isCryptoCode = c => _.includes(c, [HIGH_CRYPTO_BALANCE, LOW_CRYPTO_BALANCE]) + const isFiatCode = c => _.includes(c, [LOW_CASH_OUT, CASH_BOX_FULL]) const by = o => isCryptoCode(o) ? 'crypto' : isFiatCode(o) ? 'fiat' :