Commit a2f63d74370b01c7015d11f6d6ae3dacf039322e

Authored by Adhidarma Hadiwinoto
1 parent 173e452e52
Exists in master and in 1 other branch webadmin

Add await

Showing 1 changed file with 2 additions and 2 deletions Inline Diff

1 const axios = require('axios'); 1 const axios = require('axios');
2 const moment = require('moment'); 2 const moment = require('moment');
3 const uniqid = require('uniqid'); 3 const uniqid = require('uniqid');
4 4
5 const config = require('komodo-sdk/config'); 5 const config = require('komodo-sdk/config');
6 const logger = require('komodo-sdk/logger'); 6 const logger = require('komodo-sdk/logger');
7 const messagingClient = require('komodo-center-messaging-client-lib'); 7 const messagingClient = require('komodo-center-messaging-client-lib');
8 8
9 const modems = require('./modems'); 9 const modems = require('./modems');
10 const messageSplitter = require('./message-splitter'); 10 const messageSplitter = require('./message-splitter');
11 11
12 async function sendToModem(partner, msg, modem, parentXid) { 12 async function sendToModem(partner, msg, modem, parentXid) {
13 const xid = parentXid || uniqid(); 13 const xid = parentXid || uniqid();
14 14
15 const [msgHead, msgTail] = messageSplitter(msg.trim(), 160); 15 const [msgHead, msgTail] = messageSplitter(msg.trim(), 160);
16 if (msgHead) { 16 if (msgHead) {
17 return; 17 return;
18 } 18 }
19 19
20 logger.info('TRANSPORT: Sending message to EVO-CP', { 20 logger.info('TRANSPORT: Sending message to EVO-CP', {
21 xid, 21 xid,
22 partner, 22 partner,
23 msgHead, 23 msgHead,
24 modem: modem.name, 24 modem: modem.name,
25 }); 25 });
26 26
27 try { 27 try {
28 await axios.get(config.sender.url, { 28 await axios.get(config.sender.url, {
29 params: { 29 params: {
30 to: partner, 30 to: partner,
31 password: config.sender.password, 31 password: config.sender.password,
32 ts: moment().format('YYYY-MM-DD HH:mm:ss'), 32 ts: moment().format('YYYY-MM-DD HH:mm:ss'),
33 text: msgHead, 33 text: msgHead,
34 modem: modem.name, 34 modem: modem.name,
35 username: config.sender.username, 35 username: config.sender.username,
36 }, 36 },
37 }); 37 });
38 } catch (e) { 38 } catch (e) {
39 logger.warn('TRANSPORT: Exception on sending message to EVO-CP', { 39 logger.warn('TRANSPORT: Exception on sending message to EVO-CP', {
40 xid, 40 xid,
41 partner, 41 partner,
42 msgHead, 42 msgHead,
43 e: e.message, 43 e: e.message,
44 }); 44 });
45 } 45 }
46 46
47 messagingClient.onIncomingMessage({ 47 messagingClient.onIncomingMessage({
48 me: modem.imsi || modem.name, 48 me: modem.imsi || modem.name,
49 partner, 49 partner,
50 partner_raw: partner, 50 partner_raw: partner,
51 msg: msgHead, 51 msg: msgHead,
52 origin_label: modem.imsi || modem.name, 52 origin_label: modem.imsi || modem.name,
53 origin_transport: 'SMS', 53 origin_transport: 'SMS',
54 origin_partner: partner, 54 origin_partner: partner,
55 do_not_forward_to_core: true, 55 do_not_forward_to_core: true,
56 is_outgoing: true, 56 is_outgoing: true,
57 }); 57 });
58 58
59 if (msgTail) { 59 if (msgTail) {
60 sendToModem(partner, msgTail, modem); 60 await sendToModem(partner, msgTail, modem);
61 } 61 }
62 } 62 }
63 63
64 exports.send = async (partner, msg) => { 64 exports.send = async (partner, msg) => {
65 if (typeof partner !== 'string' || !partner.trim()) return; 65 if (typeof partner !== 'string' || !partner.trim()) return;
66 if (typeof msg !== 'string' || !msg.trim()) return; 66 if (typeof msg !== 'string' || !msg.trim()) return;
67 67
68 const xid = uniqid(); 68 const xid = uniqid();
69 69
70 const modem = modems.randomModem(); 70 const modem = modems.randomModem();
71 if (!modem) { 71 if (!modem) {
72 logger.warn('TRANSPORT: Not sending message to EVO-CP because of no available modem', { 72 logger.warn('TRANSPORT: Not sending message to EVO-CP because of no available modem', {
73 xid, 73 xid,
74 partner, 74 partner,
75 msg, 75 msg,
76 }); 76 });
77 return; 77 return;
78 } 78 }
79 79
80 sendToModem(partner, msg.trim(), modem, xid); 80 await sendToModem(partner, msg.trim(), modem, xid);
81 }; 81 };
82 82