Commit 9f45ffb0d8890f6d5dbec02bbfa23803364ca5dd

Authored by Adhidarma Hadiwinoto
1 parent b3fbdf53d3
Exists in master

Fix blacklist

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

lib/apiserver/handler/on-received.js
1 const DEFAULT_MAX_MESSAGE_AGE_IN_SECS = 300; 1 const DEFAULT_MAX_MESSAGE_AGE_IN_SECS = 300;
2 2
3 const moment = require('moment'); 3 const moment = require('moment');
4 const config = require('komodo-sdk/config'); 4 const config = require('komodo-sdk/config');
5 const logger = require('komodo-sdk/logger'); 5 const logger = require('komodo-sdk/logger');
6 6
7 const messagingCenter = require('komodo-center-messaging-client-lib'); 7 const messagingCenter = require('komodo-center-messaging-client-lib');
8 const modems = require('../../modems'); 8 const modems = require('../../modems');
9 9
10 module.exports = (req, res) => { 10 module.exports = (req, res) => {
11 res.end('OK'); 11 res.end('OK');
12 12
13 const { 13 const {
14 msg, msisdn, smsc, ts, 14 msg, msisdn, smsc, ts,
15 } = req.query; 15 } = req.query;
16 16
17 if (!(msg || '').trim()) { 17 if (!(msg || '').trim()) {
18 logger.verbose('ON-RECEIVED B09186E3: Skip empty message', { 18 logger.verbose('ON-RECEIVED B09186E3: Skip empty message', {
19 qs: req.query, 19 qs: req.query,
20 }); 20 });
21 21
22 return; 22 return;
23 } 23 }
24 24
25 // if ((msisdn || '').indexOf(62) !== 0) { 25 // if ((msisdn || '').indexOf(62) !== 0) {
26 // logger.verbose('ON-RECEIVED: Skip invalid MSISDN', { 26 // logger.verbose('ON-RECEIVED: Skip invalid MSISDN', {
27 // qs: req.query, 27 // qs: req.query,
28 // }); 28 // });
29 29
30 // return; 30 // return;
31 // } 31 // }
32 32
33 const msgUpperCased = (msg || '').toUpperCase(); 33 const msgUpperCased = (msg || '').toUpperCase();
34 if ( 34 if (
35 (msgUpperCased.indexOf('TRANSAKSI KE NOMOR') === 0) 35 (msgUpperCased.indexOf('TRANSAKSI KE NOMOR') === 0)
36 && (msisdn.search(/\+*62/) !== 0) 36 && (msisdn.search(/\+*62/) === 0)
37 ) { 37 ) {
38 logger.verbose('ON-RECEIVED 5486D373: Skip invalid message', { 38 logger.verbose('ON-RECEIVED 5486D373: Skip invalid message', {
39 msg, 39 msg,
40 msisdn, 40 msisdn,
41 qs: req.query, 41 qs: req.query,
42 }); 42 });
43 43
44 return; 44 return;
45 } 45 }
46 46
47 const sentTime = moment(ts, 'YYYY-MM-DD HH:mm:ss'); 47 const sentTime = moment(ts, 'YYYY-MM-DD HH:mm:ss');
48 const messageAgeInSeconds = Math.round(Number(new Date() - sentTime) / 1000); 48 const messageAgeInSeconds = Math.round(Number(new Date() - sentTime) / 1000);
49 49
50 const maxMessageAgeInSeconds = config.max_message_age_in_secs 50 const maxMessageAgeInSeconds = config.max_message_age_in_secs
51 || DEFAULT_MAX_MESSAGE_AGE_IN_SECS; 51 || DEFAULT_MAX_MESSAGE_AGE_IN_SECS;
52 52
53 if (messageAgeInSeconds > maxMessageAgeInSeconds) { 53 if (messageAgeInSeconds > maxMessageAgeInSeconds) {
54 logger.warn('ON-RECEIVED 2247F406: Got expired message from EVO-CP', { 54 logger.warn('ON-RECEIVED 2247F406: Got expired message from EVO-CP', {
55 qs: req.query, 55 qs: req.query,
56 messageAgeInSeconds, 56 messageAgeInSeconds,
57 maxMessageAgeInSeconds, 57 maxMessageAgeInSeconds,
58 }); 58 });
59 59
60 return; 60 return;
61 } 61 }
62 62
63 logger.info('ON-RECEIVED D3747E3C: Got message from EVO-CP', { 63 logger.info('ON-RECEIVED D3747E3C: Got message from EVO-CP', {
64 qs: req.query, 64 qs: req.query,
65 }); 65 });
66 66
67 const modem = modems.modemsDictionary[smsc] || {}; 67 const modem = modems.modemsDictionary[smsc] || {};
68 68
69 const doNotForwardToCore = (msisdn.search(/(\+)*62/) !== 0) || (msisdn.length <= 8); 69 const doNotForwardToCore = (msisdn.search(/(\+)*62/) !== 0) || (msisdn.length <= 8);
70 70
71 messagingCenter.onIncomingMessage({ 71 messagingCenter.onIncomingMessage({
72 me: modem.imsi || smsc, 72 me: modem.imsi || smsc,
73 partner: `${msisdn}${config.number_suffix || ''}`, 73 partner: `${msisdn}${config.number_suffix || ''}`,
74 partner_raw: msisdn, 74 partner_raw: msisdn,
75 msg, 75 msg,
76 origin_label: modem.imsi || smsc, 76 origin_label: modem.imsi || smsc,
77 origin_transport: 'SMS', 77 origin_transport: 'SMS',
78 origin_partner: msisdn, 78 origin_partner: msisdn,
79 do_not_forward_to_core: doNotForwardToCore, 79 do_not_forward_to_core: doNotForwardToCore,
80 }); 80 });
81 }; 81 };
82 82