Commit 5d89139411ad7a043e6f21f65751414c7508fcf8

Authored by Adhidarma Hadiwinoto
1 parent d04cee6519
Exists in master

TRANSPORT: ignore outbox "sdg DIPROSES"

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

1 const fs = require('fs'); 1 const fs = require('fs');
2 const moment = require('moment'); 2 const moment = require('moment');
3 const uniqid = require('uniqid'); 3 const uniqid = require('uniqid');
4 4
5 const config = require('komodo-sdk/config'); 5 const config = require('komodo-sdk/config');
6 const logger = require('komodo-sdk/logger'); 6 const logger = require('komodo-sdk/logger');
7 7
8 async function send(partner, msg) { 8 async function send(partner, msg) {
9 if (typeof partner !== 'string' || typeof msg !== 'string') return; 9 if (typeof partner !== 'string' || typeof msg !== 'string') return;
10 if (!partner.trim() || !msg.trim()) return; 10 if (!partner.trim() || !msg.trim()) return;
11 11
12 const destination = partner.trim().replace(/^0/, '62').replace(/^\+/, ''); 12 const destination = partner.trim().replace(/^0/, '62').replace(/^\+/, '');
13 13
14 if (!destination || !Number(destination) || destination.length < 8) return; 14 if (!destination || !Number(destination) || destination.length < 8) return;
15 15
16 if (msg.trim().search(/sdg DIPROSES$/) >= 0) return;
17
16 const msgFileContent = ` 18 const msgFileContent = `
17 To: ${destination} 19 To: ${destination}
18 20
19 ${msg.trim()} 21 ${msg.trim()}
20 `.trim(); 22 `.trim();
21 23
22 const dir = config.outbox_dir || '/var/spool/sms/outgoing'; 24 const dir = config.outbox_dir || '/var/spool/sms/outgoing';
23 const ts = moment().format('YYYYMMDD_HHmmss.SSS'); 25 const ts = moment().format('YYYYMMDD_HHmmss.SSS');
24 const filename = `${dir}/komodo.${ts}.${uniqid()}`; 26 const filename = `${dir}/komodo.${ts}.${uniqid()}`;
25 27
26 fs.exists(dir, (isExists) => { 28 fs.exists(dir, (isExists) => {
27 if (!isExists) { 29 if (!isExists) {
28 logger.warn('Outbox dir is not exists', { dir }); 30 logger.warn('Outbox dir is not exists', { dir });
29 return; 31 return;
30 } 32 }
31 33
32 logger.info('Writing outbox', { to: destination, msg: msg.trim(), filename }); 34 logger.info('Writing outbox', { to: destination, msg: msg.trim(), filename });
33 try { 35 try {
34 fs.promises.writeFile(filename, msgFileContent, { mode: 0o660 }); 36 fs.promises.writeFile(filename, msgFileContent, { mode: 0o660 });
35 } catch (e) { 37 } catch (e) {
36 logger.warn('Exception on writing outbox', { 38 logger.warn('Exception on writing outbox', {
37 to: destination, 39 to: destination,
38 msg: msg.trim(), 40 msg: msg.trim(),
39 filename, 41 filename,
40 err: e.toString(), 42 err: e.toString(),
41 }); 43 });
42 } 44 }
43 }); 45 });
44 } 46 }
45 47
46 exports.send = send; 48 exports.send = send;
47 49