Commit b9695a3ae7abc75fede349e0e5b4d0df47ef3de8

Authored by Adhidarma Hadiwinoto
1 parent 02fc109f6d
Exists in master

Fix blacklistMsgPatterns search

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