Commit a2f63d74370b01c7015d11f6d6ae3dacf039322e
1 parent
173e452e52
Exists in
master
and in
1 other branch
Add await
Showing 1 changed file with 2 additions and 2 deletions Inline Diff
lib/transport.js
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 |