Commit 995622d7c29ad3cd77593c68b61ee9439b2a039a
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 |