diff --git a/lib/email.js b/lib/email.js new file mode 100644 index 00000000..6afbe2c7 --- /dev/null +++ b/lib/email.js @@ -0,0 +1,18 @@ +const configManager = require('./config-manager') +const settingsLoader = require('./settings-loader') + +function sendMessage (rec) { + return Promise.resolve() + .then(() => { + const settings = settingsLoader.settings + const pluginCode = configManager.unscoped(settings.config).extraServices.email + + if (!pluginCode) throw new Error('No email plugin defined') + const account = settings.accounts.plugin + const plugin = require('lamassu-' + plugin) + + return plugin.sendMessage(account, rec) + }) +} + +module.exports({sendMessage}) diff --git a/lib/plugins.js b/lib/plugins.js index a45c1a03..ec2e6f05 100644 --- a/lib/plugins.js +++ b/lib/plugins.js @@ -408,7 +408,14 @@ function executeTradesForMarket (settings, fiatCode, cryptoCode) { } function sendMessage (rec) { - return Promise.all([sms.sendMessage(rec), email.sendMessage(rec)]) + const settings = settingsLoader.settings + const notifications = configManager.unscoped(settings.config).notifications + + let promises = [] + if (notifications.notificationsEmailEnabled) promises.push(email.sendMessage(rec)) + if (notifications.notificationsSMSEnabled) promises.push(sms.sendMessage(rec)) + + return Promise.all(promises) } function sendNoAlerts () { @@ -503,9 +510,9 @@ function startCheckingNotification (config) { } function getPhoneCode (phone) { - return sms.name() - .then(name => { - const code = name === 'MockSMS' + return sms.code() + .then(pluginCode => { + const code = pluginCode === 'mock-sms' ? '123' : BigNumber.random().toFixed(6).slice(2) diff --git a/lib/sms.js b/lib/sms.js new file mode 100644 index 00000000..0c91b822 --- /dev/null +++ b/lib/sms.js @@ -0,0 +1,18 @@ +const configManager = require('./config-manager') +const settingsLoader = require('./settings-loader') + +function sendMessage (rec) { + return Promise.resolve() + .then(() => { + const settings = settingsLoader.settings + const pluginCode = configManager.unscoped(settings.config).extraServices.sms + + if (!pluginCode) throw new Error('No sms plugin defined') + const account = settings.accounts.plugin + const plugin = require('lamassu-' + plugin) + + return plugin.sendMessage(account, rec) + }) +} + +module.exports({sendMessage})