Commit 9dcf4a4f470a5f2b55f60060243bf4d8cb2ea2da

Authored by Adhidarma Hadiwinoto
1 parent 40405c286c
Exists in master and in 1 other branch webadmin

remove-suffix

Showing 5 changed files with 51 additions and 5 deletions Side-by-side Diff

lib/remove-suffix.js
... ... @@ -0,0 +1,9 @@
  1 +const escapeStringRegexp = require('escape-string-regexp');
  2 +
  3 +module.exports = (str, suffix) => {
  4 + if (!str) return str;
  5 + if (!suffix) return str;
  6 +
  7 + const re = new RegExp(`${escapeStringRegexp(suffix)}$`);
  8 + return str.replace(re, '');
  9 +};
... ... @@ -9,6 +9,7 @@ const messagingClient = require('komodo-center-messaging-client-lib');
9 9 const modems = require('./modems');
10 10 const messageSplitter = require('./message-splitter');
11 11 const modemLocks = require('./modem-locks');
  12 +const removeSuffix = require('./remove-suffix');
12 13  
13 14 async function sleep(ms) {
14 15 return new Promise((resolve) => {
... ... @@ -86,6 +87,7 @@ exports.send = async (partner, msg) => {
86 87 if (msg.trim().search(/PROSES$/) >= 0) return;
87 88  
88 89 const xid = uniqid();
  90 +
89 91 logger.info('TRANSPORT: Got CORE message to forward to EVO-CP', {
90 92 xid,
91 93 partner,
... ... @@ -102,5 +104,6 @@ exports.send = async (partner, msg) => {
102 104 return;
103 105 }
104 106  
105   - await sendToModem(partner, msg.trim(), modem, xid, 1);
  107 + const to = removeSuffix(partner, config.number_suffix || '');
  108 + await sendToModem(to, msg.trim(), modem, xid, 1);
106 109 };
... ... @@ -434,6 +434,14 @@
434 434 "ansi-styles": "^3.2.1",
435 435 "escape-string-regexp": "^1.0.5",
436 436 "supports-color": "^5.3.0"
  437 + },
  438 + "dependencies": {
  439 + "escape-string-regexp": {
  440 + "version": "1.0.5",
  441 + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
  442 + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
  443 + "dev": true
  444 + }
437 445 }
438 446 },
439 447 "chardet": {
... ... @@ -979,10 +987,9 @@
979 987 "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
980 988 },
981 989 "escape-string-regexp": {
982   - "version": "1.0.5",
983   - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
984   - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
985   - "dev": true
  990 + "version": "2.0.0",
  991 + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
  992 + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w=="
986 993 },
987 994 "eslint": {
988 995 "version": "6.7.2",
... ... @@ -1424,6 +1431,14 @@
1424 1431 "dev": true,
1425 1432 "requires": {
1426 1433 "escape-string-regexp": "^1.0.5"
  1434 + },
  1435 + "dependencies": {
  1436 + "escape-string-regexp": {
  1437 + "version": "1.0.5",
  1438 + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
  1439 + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
  1440 + "dev": true
  1441 + }
1427 1442 }
1428 1443 },
1429 1444 "file-entry-cache": {
... ... @@ -2941,6 +2956,12 @@
2941 2956 "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
2942 2957 "dev": true
2943 2958 },
  2959 + "escape-string-regexp": {
  2960 + "version": "1.0.5",
  2961 + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
  2962 + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
  2963 + "dev": true
  2964 + },
2944 2965 "find-up": {
2945 2966 "version": "3.0.0",
2946 2967 "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
... ... @@ -21,6 +21,7 @@
21 21 "license": "SEE LICENSE IN LICENSE.txt",
22 22 "dependencies": {
23 23 "axios": "^0.19.0",
  24 + "escape-string-regexp": "^2.0.0",
24 25 "express": "^4.17.1",
25 26 "komodo-center-messaging-client-lib": "git+http://gitlab.kodesumber.com/komodo/komodo-center-messaging-client-lib.git",
26 27 "komodo-sdk": "git+http://gitlab.kodesumber.com/komodo/komodo-sdk.git",
test/remove-suffix.js
... ... @@ -0,0 +1,12 @@
  1 +/* global describe it */
  2 +require('should');
  3 +
  4 +const removeSuffix = require('../lib/remove-suffix');
  5 +
  6 +describe('#removeSuffix', () => {
  7 + it('should return correctly', () => {
  8 + removeSuffix('62812812@phonenumber', '@phonenumber').should.equal('62812812');
  9 + removeSuffix('62812812@phonenumber', '').should.equal('62812812@phonenumber');
  10 + removeSuffix('62812812@phonenumber', null).should.equal('62812812@phonenumber');
  11 + });
  12 +});