Commit c3238b153ca5c2f1787583295ec50ef172a55073

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

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 };