Commit 995622d7c29ad3cd77593c68b61ee9439b2a039a

Authored by Adhidarma Hadiwinoto
1 parent 6e858ef444
Exists in master

Filter empty message

Showing 1 changed file with 8 additions and 0 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()) {
18 logger.verbose('ON-RECEIVED B09186E3: Skip empty message', {
19 qs: req.query,
20 });
21
22 return;
23 }
24
17 // if ((msisdn || '').indexOf(62) !== 0) { 25 // if ((msisdn || '').indexOf(62) !== 0) {
18 // logger.verbose('ON-RECEIVED: Skip invalid MSISDN', { 26 // logger.verbose('ON-RECEIVED: Skip invalid MSISDN', {
19 // qs: req.query, 27 // qs: req.query,
20 // }); 28 // });
21 29
22 // return; 30 // return;
23 // } 31 // }
24 32
25 // const msgUpperCased = (msg || '').toUpperCase(); 33 // const msgUpperCased = (msg || '').toUpperCase();
26 // if ( 34 // if (
27 // (msgUpperCased.indexOf('TERIMA KASIH') >= 0) 35 // (msgUpperCased.indexOf('TERIMA KASIH') >= 0)
28 // || (msgUpperCased.indexOf('KAMU DAPAT BONUS') >= 0) 36 // || (msgUpperCased.indexOf('KAMU DAPAT BONUS') >= 0)
29 // ) { 37 // ) {
30 // logger.verbose('ON-RECEIVED: Skip invalid message', { 38 // logger.verbose('ON-RECEIVED: Skip invalid message', {
31 // msg, 39 // msg,
32 // qs: req.query, 40 // qs: req.query,
33 // }); 41 // });
34 42
35 // return; 43 // return;
36 // } 44 // }
37 45
38 const sentTime = moment(ts, 'YYYY-MM-DD HH:mm:ss'); 46 const sentTime = moment(ts, 'YYYY-MM-DD HH:mm:ss');
39 const messageAgeInSeconds = Math.round(Number(new Date() - sentTime) / 1000); 47 const messageAgeInSeconds = Math.round(Number(new Date() - sentTime) / 1000);
40 48
41 const maxMessageAgeInSeconds = config.max_message_age_in_secs 49 const maxMessageAgeInSeconds = config.max_message_age_in_secs
42 || DEFAULT_MAX_MESSAGE_AGE_IN_SECS; 50 || DEFAULT_MAX_MESSAGE_AGE_IN_SECS;
43 51
44 if (messageAgeInSeconds > maxMessageAgeInSeconds) { 52 if (messageAgeInSeconds > maxMessageAgeInSeconds) {
45 logger.warn('ON-RECEIVED: Got expired message from EVO-CP', { 53 logger.warn('ON-RECEIVED: Got expired message from EVO-CP', {
46 qs: req.query, 54 qs: req.query,
47 messageAgeInSeconds, 55 messageAgeInSeconds,
48 maxMessageAgeInSeconds, 56 maxMessageAgeInSeconds,
49 }); 57 });
50 58
51 return; 59 return;
52 } 60 }
53 61
54 logger.info('ON-RECEIVED: Got message from EVO-CP', { 62 logger.info('ON-RECEIVED: Got message from EVO-CP', {
55 qs: req.query, 63 qs: req.query,
56 }); 64 });
57 65
58 const modem = modems.modemsDictionary[smsc] || {}; 66 const modem = modems.modemsDictionary[smsc] || {};
59 67
60 const doNotForwardToCore = (msisdn.search(/(\+)*62/) !== 0) || (msisdn.length <= 8); 68 const doNotForwardToCore = (msisdn.search(/(\+)*62/) !== 0) || (msisdn.length <= 8);
61 69
62 messagingCenter.onIncomingMessage({ 70 messagingCenter.onIncomingMessage({
63 me: modem.imsi || smsc, 71 me: modem.imsi || smsc,
64 partner: `${msisdn}${config.number_suffix || ''}`, 72 partner: `${msisdn}${config.number_suffix || ''}`,
65 partner_raw: msisdn, 73 partner_raw: msisdn,
66 msg, 74 msg,
67 origin_label: modem.imsi || smsc, 75 origin_label: modem.imsi || smsc,
68 origin_transport: 'SMS', 76 origin_transport: 'SMS',
69 origin_partner: msisdn, 77 origin_partner: msisdn,
70 do_not_forward_to_core: doNotForwardToCore, 78 do_not_forward_to_core: doNotForwardToCore,
71 }); 79 });
72 }; 80 };
73 81