Commit c3238b153ca5c2f1787583295ec50ef172a55073
1 parent
a6ca097772
Exists in
master
and in
1 other branch
Ignore expired
Showing 1 changed file with 19 additions and 1 deletions Inline Diff
lib/apiserver/handler/on-received.js
1 | const moment = require('ts'); | ||
1 | const config = require('komodo-sdk/config'); | 2 | const config = require('komodo-sdk/config'); |
2 | const logger = require('komodo-sdk/logger'); | 3 | const logger = require('komodo-sdk/logger'); |
3 | 4 | ||
4 | const messagingCenter = require('komodo-center-messaging-client-lib'); | 5 | const messagingCenter = require('komodo-center-messaging-client-lib'); |
5 | const modems = require('../../modems'); | 6 | const modems = require('../../modems'); |
6 | 7 | ||
7 | module.exports = (req, res) => { | 8 | module.exports = (req, res) => { |
8 | res.end('OK'); | 9 | res.end('OK'); |
9 | 10 | ||
11 | const { | ||
12 | msg, msisdn, smsc, ts, | ||
13 | } = req.query; | ||
14 | |||
15 | const sentTime = moment(ts, 'YYYY-MM-DD HH:mm:ss'); | ||
16 | const messageAgeInSeconds = Math.round(Number(new Date() - sentTime) / 1000); | ||
17 | const maxAgeInSeconds = 300; | ||
18 | |||
19 | if (messageAgeInSeconds > maxAgeInSeconds) { | ||
20 | logger.warn('ON-RECEIVED: Got expired message from EVO-CP', { | ||
21 | qs: req.query, | ||
22 | messageAgeInSeconds, | ||
23 | maxAgeInSeconds, | ||
24 | }); | ||
25 | |||
26 | return; | ||
27 | } | ||
28 | |||
10 | logger.info('ON-RECEIVED: Got message from EVO-CP', { | 29 | logger.info('ON-RECEIVED: Got message from EVO-CP', { |
11 | qs: req.query, | 30 | qs: req.query, |
12 | }); | 31 | }); |
13 | 32 | ||
14 | const { msg, msisdn, smsc } = req.query; | ||
15 | const modem = modems.modemsDictionary[smsc] || {}; | 33 | const modem = modems.modemsDictionary[smsc] || {}; |
16 | 34 | ||
17 | const doNotForwardToCore = (msisdn.search(/(\+)*62/) !== 0) || (msisdn.length <= 8); | 35 | const doNotForwardToCore = (msisdn.search(/(\+)*62/) !== 0) || (msisdn.length <= 8); |
18 | 36 | ||
19 | messagingCenter.onIncomingMessage({ | 37 | messagingCenter.onIncomingMessage({ |
20 | me: modem.imsi || smsc, | 38 | me: modem.imsi || smsc, |
21 | partner: `${msisdn}${config.number_suffix || ''}`, | 39 | partner: `${msisdn}${config.number_suffix || ''}`, |
22 | partner_raw: msisdn, | 40 | partner_raw: msisdn, |
23 | msg, | 41 | msg, |
24 | origin_label: modem.imsi || smsc, | 42 | origin_label: modem.imsi || smsc, |
25 | origin_transport: 'SMS', | 43 | origin_transport: 'SMS', |
26 | origin_partner: msisdn, | 44 | origin_partner: msisdn, |
27 | do_not_forward_to_core: doNotForwardToCore, | 45 | do_not_forward_to_core: doNotForwardToCore, |
28 | }); | 46 | }); |
29 | }; | 47 | }; |