Commit 788e8154b3cfdc41b899c2ff2f2894939bf2195d

Authored by Adhidarma Hadiwinoto
1 parent d54a2eebcd
Exists in master

Detect sms nomor tujuan valid phone number tidak

Showing 1 changed file with 4 additions and 1 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/, '').replace(/^\+/); 12 const destination = partner.trim().replace(/^0/, '62').replace(/^\+/, '');
13
14 if (!destination || !Number(destination) || destination.length < 8) return;
15
13 const msgFileContent = ` 16 const msgFileContent = `
14 To: ${destination} 17 To: ${destination}
15 18
16 ${msg.trim()} 19 ${msg.trim()}
17 `.trim(); 20 `.trim();
18 21
19 const dir = config.outbox_dir || '/var/spool/sms/outgoing'; 22 const dir = config.outbox_dir || '/var/spool/sms/outgoing';
20 const ts = moment().format('YYYYMMDD_HHmmss.SSS'); 23 const ts = moment().format('YYYYMMDD_HHmmss.SSS');
21 const filename = `${dir}/komodo.${ts}.${uniqid()}`; 24 const filename = `${dir}/komodo.${ts}.${uniqid()}`;
22 25
23 fs.exists(dir, (isExists) => { 26 fs.exists(dir, (isExists) => {
24 if (!isExists) { 27 if (!isExists) {
25 logger.warn('Outbox dir is not exists', { dir }); 28 logger.warn('Outbox dir is not exists', { dir });
26 return; 29 return;
27 } 30 }
28 31
29 logger.info('Writing outbox', { filename }); 32 logger.info('Writing outbox', { filename });
30 try { 33 try {
31 fs.promises.writeFile(filename, msgFileContent, { mode: 0o660 }); 34 fs.promises.writeFile(filename, msgFileContent, { mode: 0o660 });
32 } catch (e) { 35 } catch (e) {
33 logger.warn('Exception on writing outbox', { filename, err: e.toString() }); 36 logger.warn('Exception on writing outbox', { filename, err: e.toString() });
34 } 37 }
35 }); 38 });
36 } 39 }
37 40
38 exports.send = send; 41 exports.send = send;
39 42