UNPKG

@mvp-rockets/namma-generator

Version:

A generator to generate mvp-rockets projects

45 lines (43 loc) 1.71 kB
const Result = require('folktale/result'); const config = require('config/config.js'); const { logError, logInfo } = require('lib'); const ConsumerSms = require('notifications/models/consumer-sms'); const ProxyService = require('proxy/services/proxy-service.js'); const axios = require('axios'); const sendSms = ((consumerSms) => { logInfo('sending sms from kaleyra', { consumerSms }); return new Promise((resolve) => { axios({ method: 'get', url: `https://api-alerts.kaleyra.com/v4/`, params: { api_key: config.twilio.apiKey, format: 'json', method: 'sms', message: consumerSms.message, entity_id: config.twilio.entity, to: consumerSms.to, sender: config.twilio.sender, template_id: consumerSms.template_id } }) .then((message) => { logInfo('Successfully sent sms', message.data); resolve(Result.Ok(message.data)); }) .catch((ex) => { logError('Failed to send sms', ex); resolve(Result.Error(ex)); }); }); }); module.exports.send = async (details) => { const consumerSms = new ConsumerSms(details.mobile, details.message, details.template_id); logInfo('Request to send sms', { consumerSms }); console.log("sms", consumerSms); if (['dev', 'ci', 'test', 'vagrant'].includes(process.env.APP_ENV)) { return ProxyService.send({ response: { status: true, message: 'sent data to twilio sms' } }); } const result = await sendSms(consumerSms); return result; };