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