transport.js
1.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
const axios = require('axios');
const moment = require('moment');
const config = require('komodo-sdk/config');
const logger = require('komodo-sdk/logger');
const messagingClient = require('komodo-center-messaging-client-lib');
const modems = require('./modems');
exports.send = async (partner, msg) => {
if (typeof partner !== 'string' || !partner.trim()) return;
if (typeof msg !== 'string' || !msg.trim()) return;
const modem = modems.randomModem();
if (!modem) {
logger.warn('TRANSPORT: Not sending message to EVO-CP because of no available modem', {
partner,
msg,
});
return;
}
logger.info('TRANSPORT: Sending message to EVO-CP', {
partner,
msg,
modem: modem.name,
});
try {
await axios.get(config.sender.url, {
params: {
to: partner,
password: config.sender.password,
ts: moment().format('YYYY-MM-DD HH:mm:ss'),
text: msg.trim(),
modem: modem.name,
username: config.sender.username,
},
});
} catch (e) {
logger.warn('TRANSPORT: Exception on sending message to EVO-CP', {
partner,
msg,
e: e.message,
});
}
messagingClient.onIncomingMessage({
me: modem.imsi || modem.name,
partner,
partner_raw: partner,
msg: msg.trim(),
origin_label: modem.imsi || modem.name,
origin_transport: 'SMS',
origin_partner: partner,
do_not_forward_to_core: true,
is_outgoing: true,
});
};