Commit 90bf37d451786d56de0a02547736417a1dbed68e

Authored by Adhidarma Hadiwinoto
1 parent 4063417f46
Exists in master

transport

Showing 4 changed files with 52 additions and 6 deletions Side-by-side Diff

lib/smstools-handler/received.js
... ... @@ -3,6 +3,9 @@ const logger = require('komodo-sdk/logger');
3 3  
4 4 const config = require('komodo-sdk/config');
5 5 const messagingClient = require('komodo-center-messaging-client-lib');
  6 +const transport = require('../transport');
  7 +
  8 +messagingClient.setTransport(transport);
6 9  
7 10 const mailparser = require('../mailparser-wrapper');
8 11  
... ... @@ -0,0 +1,35 @@
  1 +const fs = require('fs');
  2 +const config = require('komodo-sdk/config');
  3 +const logger = require('komodo-sdk/logger');
  4 +const uniqid = require('uniqid');
  5 +
  6 +async function send(partner, msg) {
  7 + if (typeof partner !== 'string' || typeof msg !== 'string') return;
  8 + if (!partner.trim() || !msg.trim()) return;
  9 +
  10 + const destination = partner.trim().replace(/^0/, '').replace(/^\+/);
  11 + const msgFileContent = `
  12 +To: ${destination}
  13 +
  14 +${msg.trim()}
  15 + `.trim();
  16 +
  17 + const dir = config.outbox_dir || '/var/spool/sms/outgoing';
  18 + const filename = `${dir}/komodo.${uniqid}`;
  19 +
  20 + fs.exists(dir, (isExists) => {
  21 + if (!isExists) {
  22 + logger.warn('Outbox dir is not exists', { dir });
  23 + return;
  24 + }
  25 +
  26 + logger.info('Writing outbox', { filename });
  27 + try {
  28 + fs.promises.writeFile(filename, msgFileContent, { mode: 0o660 });
  29 + } catch (e) {
  30 + logger.warn('Exception on writing outbox', { filename, err: e.toString() });
  31 + }
  32 + });
  33 +}
  34 +
  35 +exports.send = send;
... ... @@ -2955,6 +2955,16 @@
2955 2955 "winston": "^3.2.1",
2956 2956 "winston-circular-buffer": "^1.0.0",
2957 2957 "winston-daily-rotate-file": "^3.10.0"
  2958 + },
  2959 + "dependencies": {
  2960 + "uniqid": {
  2961 + "version": "4.1.1",
  2962 + "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-4.1.1.tgz",
  2963 + "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=",
  2964 + "requires": {
  2965 + "macaddress": "^0.2.8"
  2966 + }
  2967 + }
2958 2968 }
2959 2969 },
2960 2970 "kuler": {
... ... @@ -5007,12 +5017,9 @@
5007 5017 }
5008 5018 },
5009 5019 "uniqid": {
5010   - "version": "4.1.1",
5011   - "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-4.1.1.tgz",
5012   - "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=",
5013   - "requires": {
5014   - "macaddress": "^0.2.8"
5015   - }
  5020 + "version": "5.2.0",
  5021 + "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-5.2.0.tgz",
  5022 + "integrity": "sha512-LH8zsvwJ/GL6YtNfSOmMCrI9piraAUjBfw2MCvleNE6a4pVKJwXjG2+HWhkVeFcSg+nmaPKbMrMOoxwQluZ1Mg=="
5016 5023 },
5017 5024 "unpipe": {
5018 5025 "version": "1.0.0",
... ... @@ -34,6 +34,7 @@
34 34 "komodo-sdk": "git+http://gitlab.kodesumber.com/komodo/komodo-sdk.git",
35 35 "mailparser": "^2.7.6",
36 36 "request": "^2.88.0",
  37 + "uniqid": "^5.2.0",
37 38 "winston": "^3.2.1",
38 39 "yargs": "^15.0.2"
39 40 }