Commit 73a2b033246229e104e18a42eb0f69f3e9324b5d

Authored by Adhidarma Hadiwinoto
1 parent ffdb4e07cc
Exists in master

MOre human log

Showing 2 changed files with 6 additions and 6 deletions Inline Diff

lib/smstools-handler/received.js
1 const fs = require('fs'); 1 const fs = require('fs');
2 const moment = require('moment'); 2 const moment = require('moment');
3 const logger = require('komodo-sdk/logger'); 3 const logger = require('komodo-sdk/logger');
4 4
5 const config = require('komodo-sdk/config'); 5 const config = require('komodo-sdk/config');
6 const messagingClient = require('komodo-center-messaging-client-lib'); 6 const messagingClient = require('komodo-center-messaging-client-lib');
7 const transport = require('../transport'); 7 const transport = require('../transport');
8 8
9 messagingClient.setTransport(transport); 9 messagingClient.setTransport(transport);
10 10
11 const mailparser = require('../mailparser-wrapper'); 11 const mailparser = require('../mailparser-wrapper');
12 12
13 const eventType = 'RECEIVED'; 13 const eventType = 'RECEIVED';
14 14
15 module.exports = async (msgFilename) => { 15 module.exports = async (msgFilename) => {
16 const msg = await fs.promises.readFile(msgFilename); 16 const msg = await fs.promises.readFile(msgFilename);
17 17
18 if (!msg) { 18 if (!msg) {
19 logger.warn('Can not read message file', { eventType, msgFile: msgFilename }); 19 logger.warn('Message received but we can not read the file', { eventType, msgFile: msgFilename });
20 return; 20 return;
21 } 21 }
22 22
23 const parsedMsg = await mailparser(msg); 23 const parsedMsg = await mailparser(msg);
24 24
25 if (!parsedMsg || !parsedMsg.headers) { 25 if (!parsedMsg || !parsedMsg.headers) {
26 logger.warn('Invalid message', { eventType, msgFile: msgFilename, msgFileContent: msg }); 26 logger.warn('Message received but web can not parse the file', { eventType, msgFile: msgFilename, msgFileContent: msg });
27 return; 27 return;
28 } 28 }
29 29
30 const from = parsedMsg.headers.get('from').text; 30 const from = parsedMsg.headers.get('from').text;
31 const imsi = parsedMsg.headers.get('imsi'); 31 const imsi = parsedMsg.headers.get('imsi');
32 const { text } = parsedMsg; 32 const { text } = parsedMsg;
33 33
34 const sentRaw = parsedMsg.headers.get('sent'); 34 const sentRaw = parsedMsg.headers.get('sent');
35 const sent = sentRaw && moment(sentRaw, 'YY-MM-DD HH:mm:ss'); 35 const sent = sentRaw && moment(sentRaw, 'YY-MM-DD HH:mm:ss');
36 36
37 logger.info('Message parsed', { 37 logger.info('Message received', {
38 eventType, 38 eventType,
39 msgFile: msgFilename, 39 msgFile: msgFilename,
40 from, 40 from,
41 imsi, 41 imsi,
42 text, 42 text,
43 sent, 43 sent,
44 }); 44 });
45 45
46 if (!from || !imsi || !text) { 46 if (!from || !imsi || !text) {
47 return; 47 return;
48 } 48 }
49 49
50 if (sent) { 50 if (sent) {
51 const messageAgeMs = new Date() - sent; 51 const messageAgeMs = new Date() - sent;
52 if (messageAgeMs > 5 * 60 * 1000) { 52 if (messageAgeMs > 5 * 60 * 1000) {
53 logger.info('Ignore expired message', { 53 logger.info('Ignore expired message', {
54 eventType, 54 eventType,
55 msgFile: msgFilename, 55 msgFile: msgFilename,
56 imsi, 56 imsi,
57 from, 57 from,
58 text, 58 text,
59 sent, 59 sent,
60 messageAgeMs, 60 messageAgeMs,
61 }); 61 });
62 return; 62 return;
63 } 63 }
64 } 64 }
65 65
66 const doNotForwardToCore = (from.search(/(\+)*62/) !== 0) || (from.length <= 8); 66 const doNotForwardToCore = (from.search(/(\+)*62/) !== 0) || (from.length <= 8);
67 67
68 messagingClient.onIncomingMessage({ 68 messagingClient.onIncomingMessage({
69 me: imsi, 69 me: imsi,
70 partner: `${from}${config.number_suffix || ''}`, 70 partner: `${from}${config.number_suffix || ''}`,
71 partner_raw: from, 71 partner_raw: from,
72 msg: text, 72 msg: text,
73 origin_label: imsi || 'UNKNOWN', 73 origin_label: imsi || 'UNKNOWN',
74 origin_transport: 'SMS', 74 origin_transport: 'SMS',
75 origin_partner: from, 75 origin_partner: from,
76 do_not_forward_to_core: doNotForwardToCore, 76 do_not_forward_to_core: doNotForwardToCore,
77 }); 77 });
78 }; 78 };
79 79
lib/smstools-handler/sent.js
1 const fs = require('fs'); 1 const fs = require('fs');
2 const logger = require('komodo-sdk/logger'); 2 const logger = require('komodo-sdk/logger');
3 3
4 const config = require('komodo-sdk/config'); 4 const config = require('komodo-sdk/config');
5 const messagingClient = require('komodo-center-messaging-client-lib'); 5 const messagingClient = require('komodo-center-messaging-client-lib');
6 const transport = require('../transport'); 6 const transport = require('../transport');
7 const mailparser = require('../mailparser-wrapper'); 7 const mailparser = require('../mailparser-wrapper');
8 8
9 messagingClient.setTransport(transport); 9 messagingClient.setTransport(transport);
10 10
11 const eventType = 'SENT'; 11 const eventType = 'SENT';
12 12
13 13
14 module.exports = async (msgFilename) => { 14 module.exports = async (msgFilename) => {
15 const msg = await fs.promises.readFile(msgFilename); 15 const msg = await fs.promises.readFile(msgFilename);
16 16
17 if (!msg) { 17 if (!msg) {
18 logger.warn('Can not read message file', { eventType, msgFile: msgFilename }); 18 logger.warn('Message sent but we can not read message file', { eventType, msgFile: msgFilename });
19 return; 19 return;
20 } 20 }
21 21
22 const parsedMsg = await mailparser(msg); 22 const parsedMsg = await mailparser(msg);
23 23
24 if (!parsedMsg || !parsedMsg.headers) { 24 if (!parsedMsg || !parsedMsg.headers) {
25 logger.warn('Invalid message', { eventType, msgFile: msgFilename }); 25 logger.warn('Message sent but we can not parse the file', { eventType, msgFile: msgFilename });
26 return; 26 return;
27 } 27 }
28 28
29 const to = parsedMsg.headers.get('to').text; 29 const to = parsedMsg.headers.get('to').text;
30 const imsi = parsedMsg.headers.get('imsi'); 30 const imsi = parsedMsg.headers.get('imsi');
31 const { text } = parsedMsg; 31 const { text } = parsedMsg;
32 32
33 logger.info('Message parsed', { 33 logger.info('Message sent', {
34 eventType, 34 eventType,
35 msgFile: msgFilename, 35 msgFile: msgFilename,
36 to, 36 to,
37 imsi, 37 imsi,
38 text, 38 text,
39 }); 39 });
40 40
41 if (!to || !imsi || !text) { 41 if (!to || !imsi || !text) {
42 return; 42 return;
43 } 43 }
44 44
45 messagingClient.onIncomingMessage({ 45 messagingClient.onIncomingMessage({
46 me: imsi, 46 me: imsi,
47 partner: `${to}${config.number_suffix || ''}`, 47 partner: `${to}${config.number_suffix || ''}`,
48 partner_raw: to, 48 partner_raw: to,
49 msg: text, 49 msg: text,
50 origin_label: imsi || 'UNKNOWN', 50 origin_label: imsi || 'UNKNOWN',
51 origin_transport: 'SMS', 51 origin_transport: 'SMS',
52 origin_partner: to, 52 origin_partner: to,
53 do_not_forward_to_core: true, 53 do_not_forward_to_core: true,
54 is_outgoing: true, 54 is_outgoing: true,
55 }); 55 });
56 }; 56 };
57 57