Compare View

switch
from
...
to
 
Commits (9)

Changes

Showing 11 changed files Side-by-side Diff

... ... @@ -4,8 +4,16 @@ All notable changes to this project will be documented in this file. Dates are d
4 4  
5 5 Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
6 6  
  7 +#### [v0.14.15](https://gitlab.kodesumber.com/komodo/komodo-center-messaging/compare/v0.14.14...v0.14.15)
  8 +
  9 +- ESLINT default-command [`4c973ec`](https://gitlab.kodesumber.com/komodo/komodo-center-messaging/commit/4c973ecec0fd3897057ca55de18dfa55f330271d)
  10 +- ESLINT on command-handler.index [`13b04df`](https://gitlab.kodesumber.com/komodo/komodo-center-messaging/commit/13b04dfe0df64ba87c6127d2d86d1553c106e848)
  11 +- Some eslint [`5587084`](https://gitlab.kodesumber.com/komodo/komodo-center-messaging/commit/558708432aa9461bd16ae6121b95503348c86650)
  12 +
7 13 #### [v0.14.14](https://gitlab.kodesumber.com/komodo/komodo-center-messaging/compare/v0.14.13...v0.14.14)
8 14  
  15 +> 18 October 2021
  16 +
9 17 - Fix eslint on buy.js [`5c4cf02`](https://gitlab.kodesumber.com/komodo/komodo-center-messaging/commit/5c4cf023bc4bfad2cc0101c57492dd185399c915)
10 18 - Add xid on messages-archives.insert [`8d90a39`](https://gitlab.kodesumber.com/komodo/komodo-center-messaging/commit/8d90a3941f5d340bca2ef964ee8497b16e857cf1)
11 19  
lib/command-group.js
1   -"use strict";
2   -
3 1 const defaultCommand = require('./default-command');
4 2  
5 3 const commands = {
6 4 };
7 5  
8   -for (let [key, value] of Object.entries(defaultCommand)) {
9   - value.forEach(function(element) {
  6 +// eslint-disable-next-line no-restricted-syntax
  7 +for (const [key, value] of Object.entries(defaultCommand)) {
  8 + value.forEach((element) => {
10 9 commands[element.toLowerCase()] = key.toLowerCase();
11   - })
  10 + });
12 11 }
13 12  
14   -module.exports = commands;
15 13 \ No newline at end of file
  14 +module.exports = commands;
lib/command-handler/claimbonus.js
... ... @@ -6,23 +6,23 @@ const commandError = require('./error');
6 6 const coreapi = require('../coreapi');
7 7  
8 8 function help(keyword) {
9   - return `Untuk menarik bonus ke saldo, ketik perintah dengan format:\n${ keyword.toUpperCase() }.<PIN>`;
  9 + return `Untuk menarik bonus ke saldo, ketik perintah dengan format:\n${keyword.toUpperCase()}.<PIN>`;
10 10 }
11 11  
12 12 function execute(tokens, params, cb) {
13 13 if (config.disable_claim_bonus || config.disable_claim_rebate) {
14 14 const responseParams = {
15 15 body: 'Maaf permintaan anda tidak dapat dilakukan',
16   - }
  16 + };
17 17  
18 18 cb(null, null, responseParams);
19 19 return;
20 20 }
21   -
  21 +
22 22 if (!tokens || tokens.length < 2) {
23 23 const responseParams = {
24   - body: `${ commandError.ERR_INVALID_FORMAT }. ${ help(tokens[0]) }`
25   - }
  24 + body: `${commandError.ERR_INVALID_FORMAT}. ${help(tokens[0])}`,
  25 + };
26 26  
27 27 cb(null, null, responseParams);
28 28 return;
... ... @@ -36,4 +36,4 @@ function execute(tokens, params, cb) {
36 36 coreapi(coreEndpoint, coreParams, 'GET', cb);
37 37 }
38 38  
39   -module.exports = execute;
40 39 \ No newline at end of file
  40 +module.exports = execute;
lib/command-handler/daysummary.js
1   -"use strict";
2   -
3 1 const coreEndpoint = '/stores/summary';
4 2  
5 3 const commandError = require('./error');
6 4 const coreapi = require('../coreapi');
7 5  
8 6 function help(keyword) {
9   - return `Untuk melihat laporan harian, ketik perintah dengan format: ${ keyword.toUpperCase() }.<PIN> atau ${ keyword.toUpperCase() }.<TANGGAL>.<PIN>. Format tanggal YYYY-MM-DD, contoh 2018-12-31 untuk tanggal 31 Desember 2018.`;
  7 + return `Untuk melihat laporan harian, ketik perintah dengan format: ${keyword.toUpperCase()}.<PIN> atau ${keyword.toUpperCase()}.<TANGGAL>.<PIN>. Format tanggal YYYY-MM-DD, contoh 2018-12-31 untuk tanggal 31 Desember 2018.`;
10 8 }
11 9  
12 10 function execute(tokens, params, cb) {
13   -
14 11 if (!tokens || tokens.length < 2) {
15 12 const responseParams = {
16   - body: `${ commandError.ERR_INVALID_FORMAT }. ${ help(tokens[0]) }`
17   - }
  13 + body: `${commandError.ERR_INVALID_FORMAT}. ${help(tokens[0])}`,
  14 + };
18 15  
19 16 cb(null, null, responseParams);
20 17 return;
... ... @@ -33,4 +30,4 @@ function execute(tokens, params, cb) {
33 30 coreapi(coreEndpoint, coreParams, 'GET', cb);
34 31 }
35 32  
36   -module.exports = execute;
37 33 \ No newline at end of file
  34 +module.exports = execute;
lib/command-handler/index.js
... ... @@ -31,95 +31,74 @@ const handlerTemporaryBonus = require(&#39;./temporarybonus&#39;);
31 31 const handlerTransferBalance = require('./transferbalance');
32 32  
33 33 function execute(msg, params, cb) {
34   -
35   - if ( typeof msg !== 'string' || !msg.trim() ) {
  34 + if (typeof msg !== 'string' || !msg.trim()) {
36 35 cb(commandError.ERR_EMPTY_MESSAGE);
37 36 return;
38 37 }
39   -
  38 +
40 39 const tokens = commandParser.splitToken(msg);
41 40 const commandGroup = commandParser.extractCommandGroup(tokens);
  41 +
  42 + // eslint-disable-next-line no-param-reassign
42 43 params.commandGroup = commandGroup;
43   - logger.info('Processing message from partner', { msg, params, tokens, commandGroup });
  44 +
  45 + logger.info('Processing message from partner', {
  46 + msg, params, tokens, commandGroup,
  47 + });
44 48  
45 49 if (!commandGroup || commandGroup === 'buy') {
46 50 handlerBuy(tokens, params, cb);
47   - }
48   - else if (commandGroup === 'balance') {
  51 + } else if (commandGroup === 'balance') {
49 52 handlerBalance(tokens, params, cb);
50   - }
51   - else if (commandGroup === 'addbalance') {
  53 + } else if (commandGroup === 'addbalance') {
52 54 handlerAddBalance(tokens, params, cb);
53   - }
54   - else if (commandGroup === 'transferbalance') {
  55 + } else if (commandGroup === 'transferbalance') {
55 56 handlerTransferBalance(tokens, params, cb);
56   - }
57   - else if (commandGroup === 'price') {
  57 + } else if (commandGroup === 'price') {
58 58 handlerPrice(tokens, params, cb);
59   - }
60   - else if (commandGroup === 'listdownline') {
  59 + } else if (commandGroup === 'listdownline') {
61 60 handlerListDownline(tokens, params, cb);
62   - }
63   - else if (commandGroup === 'downlineinfo') {
  61 + } else if (commandGroup === 'downlineinfo') {
64 62 handlerDownlineInfo(tokens, params, cb);
65   - }
66   - else if (commandGroup === 'adddownline') {
  63 + } else if (commandGroup === 'adddownline') {
67 64 handlerAddDownline(tokens, params, cb);
68   - }
69   - else if (commandGroup === 'listterminal') {
  65 + } else if (commandGroup === 'listterminal') {
70 66 handlerListTerminal(tokens, params, cb);
71   - }
72   - else if (commandGroup === 'listtrx' || commandGroup === 'listtrxall') {
  67 + } else if (commandGroup === 'listtrx' || commandGroup === 'listtrxall') {
73 68 handlerListTrx(tokens, params, cb);
74   - }
75   - else if (commandGroup === 'listdeposit') {
  69 + } else if (commandGroup === 'listdeposit') {
76 70 handlerListDeposit(tokens, params, cb);
77   - }
78   - else if (commandGroup === 'addterminal') {
  71 + } else if (commandGroup === 'addterminal') {
79 72 handlerAddTerminal(tokens, params, cb);
80   - }
81   - else if (commandGroup === 'changepin') {
  73 + } else if (commandGroup === 'changepin') {
82 74 handlerChangePin(tokens, params, cb);
83   - }
84   - else if (commandGroup === 'enabledownline') {
  75 + } else if (commandGroup === 'enabledownline') {
85 76 handlerEnableDownline(tokens, params, cb);
86   - }
87   - else if (commandGroup === 'daysummary' || commandGroup === 'daysummaryall') {
  77 + } else if (commandGroup === 'daysummary' || commandGroup === 'daysummaryall') {
88 78 handlerDaySummary(tokens, params, cb);
89   - }
90   - else if (commandGroup === 'depositticket') {
  79 + } else if (commandGroup === 'depositticket') {
91 80 handlerDepositTicket(tokens, params, cb);
92   - }
93   - else if (commandGroup === 'disabledownline') {
  81 + } else if (commandGroup === 'disabledownline') {
94 82 handlerDisableDownline(tokens, params, cb);
95   - }
96   - else if (commandGroup === 'supplierbalances') {
  83 + } else if (commandGroup === 'supplierbalances') {
97 84 handlerSupplierBalances(tokens, params, cb);
98   - }
99   - else if (commandGroup === 'claimbonus') {
  85 + } else if (commandGroup === 'claimbonus') {
100 86 handlerClaimBonus(tokens, params, cb);
101   - }
102   - else if (commandGroup === 'temporarybonus') {
  87 + } else if (commandGroup === 'temporarybonus') {
103 88 handlerTemporaryBonus(tokens, params, cb);
104   - }
105   - else if (commandGroup === 'inquiry') {
  89 + } else if (commandGroup === 'inquiry') {
106 90 handlerInquiry(tokens, params, cb);
107   - }
108   - else if (commandGroup === 'pay') {
  91 + } else if (commandGroup === 'pay') {
109 92 handlerPay(tokens, params, cb);
110   - }
111   - else if (commandGroup === 'complain') {
  93 + } else if (commandGroup === 'complain') {
112 94 handlerComplain(tokens, params, cb);
113   - }
114   - else if (commandGroup === 'listcomplain') {
  95 + } else if (commandGroup === 'listcomplain') {
115 96 handlerListComplain(tokens, params, cb);
116   - }
117   - else if (commandGroup === 'help') {
118   - handlerHelp(tokens, params, cb)
119   - }
120   - else {
  97 + } else if (commandGroup === 'help') {
  98 + handlerHelp(tokens, params, cb);
  99 + } else {
121 100 cb(commandError.ERR_NOT_IMPLEMENTED);
122 101 }
123 102 }
124 103  
125   -module.exports = execute;
126 104 \ No newline at end of file
  105 +module.exports = execute;
lib/command-handler/listdeposit.js
1 1 const config = require('komodo-sdk/config');
  2 +
2 3 const coreEndpoint = '/histories/mutations/deposit-and-transfer';
3 4  
4 5 const commandError = require('./error');
... ... @@ -8,18 +9,17 @@ function help(keyword) {
8 9 return `
9 10 Format perintah utk list deposit dan transfer:
10 11  
11   -${ keyword.toUpperCase() }.<PIN> atau ${ keyword.toUpperCase() }.<TANGGAL>.<PIN>.
  12 +${keyword.toUpperCase()}.<PIN> atau ${keyword.toUpperCase()}.<TANGGAL>.<PIN>.
12 13  
13 14 <TANGGAL> dlm format YYYY-MM-DD, contoh 2018-12-31 untuk tanggal 31 Desember 2018.
14 15 `.trim();
15 16 }
16 17  
17 18 function execute(tokens, params, cb) {
18   -
19 19 if (!tokens || tokens.length < 2) {
20 20 const responseParams = {
21   - body: `${ commandError.ERR_INVALID_FORMAT }. ${ help(tokens[0]) }`
22   - }
  21 + body: `${commandError.ERR_INVALID_FORMAT}. ${help(tokens[0])}`,
  22 + };
23 23  
24 24 cb(null, null, responseParams);
25 25 return;
... ... @@ -38,4 +38,4 @@ function execute(tokens, params, cb) {
38 38 coreapi(coreEndpoint, coreParams, 'GET', cb);
39 39 }
40 40  
41   -module.exports = execute;
42 41 \ No newline at end of file
  42 +module.exports = execute;
lib/command-handler/listtrx.js
... ... @@ -6,7 +6,11 @@ const commandError = require(&#39;./error&#39;);
6 6 const coreapi = require('../coreapi');
7 7  
8 8 function help(keyword, commandGroup) {
9   - return `Untuk melihat list transaksi${ commandGroup === 'listtrxall' ? ' termasuk downline': ''}, ketik perintah dengan format: ${ keyword.toUpperCase() }.<PIN> atau ${ keyword.toUpperCase() }.<TANGGAL>.<PIN>. Format tanggal YYYY-MM-DD, contoh 2018-12-31 untuk tanggal 31 Desember 2018.`;
  9 + return `Untuk melihat list transaksi${
  10 + commandGroup === 'listtrxall'
  11 + ? ' termasuk downline'
  12 + : ''
  13 + }, ketik perintah dengan format: ${keyword.toUpperCase()}.<PIN> atau ${keyword.toUpperCase()}.<TANGGAL>.<PIN>. Format tanggal YYYY-MM-DD, contoh 2018-12-31 untuk tanggal 31 Desember 2018.`;
10 14 }
11 15  
12 16 module.exports = (tokens, params, cb) => {
... ... @@ -16,21 +20,17 @@ module.exports = (tokens, params, cb) =&gt; {
16 20  
17 21 if (blacklisted) {
18 22 const body = `Perintah "${tokens[0]}" tdk tersedia pd jalur SMS dan sejenis.`;
19   - const responseParams = {
20   - body
21   - }
22   -
  23 + const responseParams = { body };
  24 +
23 25 cb(null, null, responseParams);
24 26 return;
25 27 }
26 28 }
27   -
28   -
29 29  
30 30 if (!tokens || tokens.length < 2) {
31 31 const responseParams = {
32   - body: `${ commandError.ERR_INVALID_FORMAT }. ${ help(tokens[0], params.commandGroup) }`
33   - }
  32 + body: `${commandError.ERR_INVALID_FORMAT}. ${help(tokens[0], params.commandGroup)}`,
  33 + };
34 34  
35 35 cb(null, null, responseParams);
36 36 return;
lib/command-parser.js
1   -"use strict";
2   -
3 1 const commands = require('./command-group');
4 2  
5 3 function splitToken(msg) {
6 4 if (typeof msg !== 'string') {
7   - return;
  5 + return null;
8 6 }
9 7  
10 8 if (!msg.trim()) {
11   - return;
  9 + return null;
12 10 }
13 11  
14 12 const delimiters = msg.trim().match(/^\w+(\W)/);
15 13 const delimiter = delimiters && delimiters[1] ? delimiters[1] : null;
16 14  
17   - const delimiterRegex = delimiter ? new RegExp('\\' + delimiter + '+') : new RegExp('[\s\.]+');
  15 + const delimiterRegex = delimiter ? new RegExp(`\\${delimiter}+`) : new RegExp('[\s\.]+');
18 16 return msg.trim().split(delimiterRegex);
19 17 }
20 18  
21   -function _makeSureAsTokensArray(msgOrTokens) {
  19 +function makeSureAsTokensArray(msgOrTokens) {
22 20 if (typeof msgOrTokens === 'string') {
23 21 return splitToken(msgOrTokens);
24 22 }
... ... @@ -27,18 +25,18 @@ function _makeSureAsTokensArray(msgOrTokens) {
27 25 }
28 26  
29 27 function extractCommand(msgOrTokens) {
30   - msgOrTokens = _makeSureAsTokensArray(msgOrTokens);
  28 + const msgOrTokensArray = makeSureAsTokensArray(msgOrTokens);
31 29  
32   - if (!msgOrTokens) return;
33   - return msgOrTokens[0];
  30 + if (!msgOrTokensArray) return null;
  31 + return msgOrTokensArray[0];
34 32 }
35 33  
36 34 function extractCommandGroup(msgOrTokens) {
37 35 const cmd = extractCommand(msgOrTokens);
38   - if (!cmd) return;
39   - return commands[ cmd.toLowerCase() ];
  36 + if (!cmd) return null;
  37 + return commands[cmd.toLowerCase()];
40 38 }
41 39  
42 40 exports.splitToken = splitToken;
43 41 exports.extractCommand = extractCommand;
44   -exports.extractCommandGroup = extractCommandGroup;
45 42 \ No newline at end of file
  43 +exports.extractCommandGroup = extractCommandGroup;
lib/default-command.js
1 1 module.exports = {
2 2 help: [
3   - "bantu",
4   - "bantuan",
5   - "format",
6   - "help",
7   - "tolong",
  3 + 'bantu',
  4 + 'bantuan',
  5 + 'format',
  6 + 'help',
  7 + 'tolong',
8 8 ],
9 9 buy: [
10   - "beli",
11   - "buy",
12   - "i",
13   - "isi",
  10 + 'beli',
  11 + 'buy',
  12 + 'i',
  13 + 'isi',
14 14 ],
15 15 _statuscheck: [
16   - "cekstatus",
17   - "checkstatus",
18   - "status",
  16 + 'cekstatus',
  17 + 'checkstatus',
  18 + 'status',
19 19 ],
20 20 balance: [
21   - "bal",
22   - "balance",
23   - "ceksaldo",
24   - "checksaldo",
25   - "s",
26   - "sal",
27   - "saldo",
  21 + 'bal',
  22 + 'balance',
  23 + 'ceksaldo',
  24 + 'checksaldo',
  25 + 's',
  26 + 'sal',
  27 + 'saldo',
28 28 ],
29 29 transferbalance: [
30   - "transfer",
31   - "trf",
  30 + 'transfer',
  31 + 'trf',
32 32 ],
33 33 addbalance: [
34   - "addbalance",
35   - "addbal",
36   - "tambahsaldo",
  34 + 'addbalance',
  35 + 'addbal',
  36 + 'tambahsaldo',
37 37 ],
38 38 listdownline: [
39   - "dllist",
40   - "dlls",
41   - "downlinelist",
42   - "downlinels",
43   - "ldl",
44   - "listdl",
45   - "listdownline",
46   - "listmitra",
47   - "lsdl",
48   - "lsdownline",
49   - "lsmitra",
50   - "mitrals",
  39 + 'dllist',
  40 + 'dlls',
  41 + 'downlinelist',
  42 + 'downlinels',
  43 + 'ldl',
  44 + 'listdl',
  45 + 'listdownline',
  46 + 'listmitra',
  47 + 'lsdl',
  48 + 'lsdownline',
  49 + 'lsmitra',
  50 + 'mitrals',
51 51 ],
52 52 adddownline: [
53   - "adddl",
54   - "adddownline",
55   - "addmitra",
56   - "buatdl",
57   - "buatdownline",
58   - "createdl",
59   - "createdownlne",
60   - "createmitra",
61   - "regdl",
62   - "regdownline",
63   - "registerdl",
64   - "registerdownline",
65   - "registermitra",
66   - "regmitra",
67   - "tambahdl",
68   - "tambahdownline",
69   - "tambahmitra",
  53 + 'adddl',
  54 + 'adddownline',
  55 + 'addmitra',
  56 + 'buatdl',
  57 + 'buatdownline',
  58 + 'createdl',
  59 + 'createdownlne',
  60 + 'createmitra',
  61 + 'regdl',
  62 + 'regdownline',
  63 + 'registerdl',
  64 + 'registerdownline',
  65 + 'registermitra',
  66 + 'regmitra',
  67 + 'tambahdl',
  68 + 'tambahdownline',
  69 + 'tambahmitra',
70 70 ],
71 71 downlineinfo: [
72   - "dl",
73   - "downline",
74   - "mitra",
75   - "saldodownline",
76   - "saldomitra",
77   - "sd",
78   - "sdl",
  72 + 'dl',
  73 + 'downline',
  74 + 'mitra',
  75 + 'saldodownline',
  76 + 'saldomitra',
  77 + 'sd',
  78 + 'sdl',
79 79 ],
80 80 disabledownline: [
81   - "disabledl",
82   - "disabledownline",
83   - "disablemitra",
84   - "nonaktifdl",
85   - "nonaktifdownline",
86   - "nonaktifkandl",
87   - "nonaktifkandownline",
88   - "nonaktifkanmitra",
89   - "nonaktifmitra",
  81 + 'disabledl',
  82 + 'disabledownline',
  83 + 'disablemitra',
  84 + 'nonaktifdl',
  85 + 'nonaktifdownline',
  86 + 'nonaktifkandl',
  87 + 'nonaktifkandownline',
  88 + 'nonaktifkanmitra',
  89 + 'nonaktifmitra',
90 90 ],
91 91 enabledownline: [
92   - "aktifkandl",
93   - "aktifkandownline",
94   - "aktifkanmitra",
95   - "aktivasidl",
96   - "aktivasidownline",
97   - "aktivasimitra",
98   - "enabledl",
99   - "enabledownline",
100   - "enablemitra",
  92 + 'aktifkandl',
  93 + 'aktifkandownline',
  94 + 'aktifkanmitra',
  95 + 'aktivasidl',
  96 + 'aktivasidownline',
  97 + 'aktivasimitra',
  98 + 'enabledl',
  99 + 'enabledownline',
  100 + 'enablemitra',
101 101 ],
102 102 daysummary: [
103   - "lap",
104   - "laporan",
105   - "rekap",
  103 + 'lap',
  104 + 'laporan',
  105 + 'rekap',
106 106 ],
107 107 daysummaryall: [
108   - "lapall",
109   - "laporanall",
110   - "rekapall",
  108 + 'lapall',
  109 + 'laporanall',
  110 + 'rekapall',
111 111 ],
112 112 _daysummarydownline: [
113   - "lapdl",
114   - "lapdownline",
115   - "lapmitra",
116   - "laporandl",
117   - "laporandownline",
118   - "laporanmitra",
119   - "rekapalldl",
120   - "rekapalldownline",
121   - "rekapallmitra",
  113 + 'lapdl',
  114 + 'lapdownline',
  115 + 'lapmitra',
  116 + 'laporandl',
  117 + 'laporandownline',
  118 + 'laporanmitra',
  119 + 'rekapalldl',
  120 + 'rekapalldownline',
  121 + 'rekapallmitra',
122 122 ],
123 123 _maintenanceactivate: [
124   - "activatemaintenance",
125   - "maintenanceactivate"
  124 + 'activatemaintenance',
  125 + 'maintenanceactivate',
126 126 ],
127 127 _maintenancedeactivate: [
128   - "deactivatemaintenance",
129   - "maintenancedeactivate"
  128 + 'deactivatemaintenance',
  129 + 'maintenancedeactivate',
130 130 ],
131 131 price: [
132   - "cekharga",
133   - "ch",
134   - "checkharga",
135   - "h",
136   - "harga",
137   - "hargaproduct",
138   - "hargaproduk",
139   - "price",
  132 + 'cekharga',
  133 + 'ch',
  134 + 'checkharga',
  135 + 'h',
  136 + 'harga',
  137 + 'hargaproduct',
  138 + 'hargaproduk',
  139 + 'price',
140 140 ],
141 141 changepin: [
142   - "changepin",
143   - "gantipin",
144   - "pin",
145   - "setpin",
146   - "ubahpin",
  142 + 'changepin',
  143 + 'gantipin',
  144 + 'pin',
  145 + 'setpin',
  146 + 'ubahpin',
147 147 ],
148 148 depositticket: [
149 149 'depo',
... ... @@ -220,7 +220,7 @@ module.exports = {
220 220 'bonustemp',
221 221 'bonustemporary',
222 222 'tempbonus',
223   - 'temporarybonus'
  223 + 'temporarybonus',
224 224 ],
225 225 claimbonus: [
226 226 'ambilbonus',
... ... @@ -258,11 +258,11 @@ module.exports = {
258 258 'pay',
259 259 ],
260 260 _setmarkup: [
261   - 'markup'
  261 + 'markup',
262 262 ],
263 263 _news: [
264 264 'berita',
265 265 'news',
266 266 'promo',
267   - ]
268   -}
  267 + ],
  268 +};
1 1 {
2 2 "name": "komodo-center-messaging",
3   - "version": "0.14.14",
  3 + "version": "0.14.15",
4 4 "lockfileVersion": 2,
5 5 "requires": true,
6 6 "packages": {
7 7 "": {
8 8 "name": "komodo-center-messaging",
9   - "version": "0.14.14",
  9 + "version": "0.14.15",
10 10 "license": "ISC",
11 11 "dependencies": {
12 12 "auto-changelog": "^2.3.0",
1 1 {
2 2 "name": "komodo-center-messaging",
3   - "version": "0.14.14",
  3 + "version": "0.14.15",
4 4 "description": "Komodo Common Messaging Center",
5 5 "main": "index.js",
6 6 "scripts": {