Commit ff9c0a476dd9c865e31aa237fb576cf40fccfeb7

Authored by Adhidarma Hadiwinoto
1 parent d33888983e
Exists in master

LISTDEPOSIT

Showing 3 changed files with 55 additions and 0 deletions Inline Diff

lib/command-handler/index.js
1 "use strict"; 1 "use strict";
2 2
3 const logger = require('komodo-sdk/logger'); 3 const logger = require('komodo-sdk/logger');
4 4
5 const commandParser = require('../command-parser'); 5 const commandParser = require('../command-parser');
6 6
7 const commandError = require('./error'); 7 const commandError = require('./error');
8 8
9 const handlerAddBalance = require('./addbalance'); 9 const handlerAddBalance = require('./addbalance');
10 const handlerAddDownline = require('./adddownline'); 10 const handlerAddDownline = require('./adddownline');
11 const handlerAddTerminal = require('./addterminal'); 11 const handlerAddTerminal = require('./addterminal');
12 const handlerBalance = require('./balance'); 12 const handlerBalance = require('./balance');
13 const handlerBuy = require('./buy'); 13 const handlerBuy = require('./buy');
14 const handlerChangePin = require('./changepin'); 14 const handlerChangePin = require('./changepin');
15 const handlerDaySummary = require('./daysummary'); 15 const handlerDaySummary = require('./daysummary');
16 const handlerDepositTicket = require('./depositticket'); 16 const handlerDepositTicket = require('./depositticket');
17 const handlerDisableDownline = require('./disabledownline'); 17 const handlerDisableDownline = require('./disabledownline');
18 const handlerDownlineInfo = require('./downlineinfo'); 18 const handlerDownlineInfo = require('./downlineinfo');
19 const handlerEnableDownline = require('./enabledownline'); 19 const handlerEnableDownline = require('./enabledownline');
20 const handlerHelp = require('./help'); 20 const handlerHelp = require('./help');
21 const handlerListDeposit = require('./listdeposit');
21 const handlerListDownline = require('./listdownline'); 22 const handlerListDownline = require('./listdownline');
22 const handlerListTerminal = require('./listterminal'); 23 const handlerListTerminal = require('./listterminal');
23 const handlerListTrx = require('./listtrx'); 24 const handlerListTrx = require('./listtrx');
24 const handlerPrice = require('./price'); 25 const handlerPrice = require('./price');
25 const handlerSupplierBalances = require('./supplierbalances'); 26 const handlerSupplierBalances = require('./supplierbalances');
26 const handlerTransferBalance = require('./transferbalance'); 27 const handlerTransferBalance = require('./transferbalance');
27 28
28 function execute(msg, params, cb) { 29 function execute(msg, params, cb) {
29 30
30 if ( typeof msg !== 'string' || !msg.trim() ) { 31 if ( typeof msg !== 'string' || !msg.trim() ) {
31 cb(commandError.ERR_EMPTY_MESSAGE); 32 cb(commandError.ERR_EMPTY_MESSAGE);
32 return; 33 return;
33 } 34 }
34 35
35 const tokens = commandParser.splitToken(msg); 36 const tokens = commandParser.splitToken(msg);
36 const commandGroup = commandParser.extractCommandGroup(tokens); 37 const commandGroup = commandParser.extractCommandGroup(tokens);
37 params.commandGroup = commandGroup; 38 params.commandGroup = commandGroup;
38 logger.info('Processing message from partner', { msg, params, tokens, commandGroup }); 39 logger.info('Processing message from partner', { msg, params, tokens, commandGroup });
39 40
40 if (!commandGroup || commandGroup === 'buy') { 41 if (!commandGroup || commandGroup === 'buy') {
41 handlerBuy(tokens, params, cb); 42 handlerBuy(tokens, params, cb);
42 } 43 }
43 else if (commandGroup === 'balance') { 44 else if (commandGroup === 'balance') {
44 handlerBalance(tokens, params, cb); 45 handlerBalance(tokens, params, cb);
45 } 46 }
46 else if (commandGroup === 'addbalance') { 47 else if (commandGroup === 'addbalance') {
47 handlerAddBalance(tokens, params, cb); 48 handlerAddBalance(tokens, params, cb);
48 } 49 }
49 else if (commandGroup === 'transferbalance') { 50 else if (commandGroup === 'transferbalance') {
50 handlerTransferBalance(tokens, params, cb); 51 handlerTransferBalance(tokens, params, cb);
51 } 52 }
52 else if (commandGroup === 'price') { 53 else if (commandGroup === 'price') {
53 handlerPrice(tokens, params, cb); 54 handlerPrice(tokens, params, cb);
54 } 55 }
55 else if (commandGroup === 'listdownline') { 56 else if (commandGroup === 'listdownline') {
56 handlerListDownline(tokens, params, cb); 57 handlerListDownline(tokens, params, cb);
57 } 58 }
58 else if (commandGroup === 'downlineinfo') { 59 else if (commandGroup === 'downlineinfo') {
59 handlerDownlineInfo(tokens, params, cb); 60 handlerDownlineInfo(tokens, params, cb);
60 } 61 }
61 else if (commandGroup === 'adddownline') { 62 else if (commandGroup === 'adddownline') {
62 handlerAddDownline(tokens, params, cb); 63 handlerAddDownline(tokens, params, cb);
63 } 64 }
64 else if (commandGroup === 'listterminal') { 65 else if (commandGroup === 'listterminal') {
65 handlerListTerminal(tokens, params, cb); 66 handlerListTerminal(tokens, params, cb);
66 } 67 }
67 else if (commandGroup === 'listtrx' || commandGroup === 'listtrxall') { 68 else if (commandGroup === 'listtrx' || commandGroup === 'listtrxall') {
68 handlerListTrx(tokens, params, cb); 69 handlerListTrx(tokens, params, cb);
69 } 70 }
71 else if (commandGroup === 'listdeposit') {
72 handlerListDeposit(tokens, params, cb);
73 }
70 else if (commandGroup === 'addterminal') { 74 else if (commandGroup === 'addterminal') {
71 handlerAddTerminal(tokens, params, cb); 75 handlerAddTerminal(tokens, params, cb);
72 } 76 }
73 else if (commandGroup === 'changepin') { 77 else if (commandGroup === 'changepin') {
74 handlerChangePin(tokens, params, cb); 78 handlerChangePin(tokens, params, cb);
75 } 79 }
76 else if (commandGroup === 'enabledownline') { 80 else if (commandGroup === 'enabledownline') {
77 handlerEnableDownline(tokens, params, cb); 81 handlerEnableDownline(tokens, params, cb);
78 } 82 }
79 else if (commandGroup === 'daysummary' || commandGroup === 'daysummaryall') { 83 else if (commandGroup === 'daysummary' || commandGroup === 'daysummaryall') {
80 handlerDaySummary(tokens, params, cb); 84 handlerDaySummary(tokens, params, cb);
81 } 85 }
82 else if (commandGroup === 'depositticket') { 86 else if (commandGroup === 'depositticket') {
83 handlerDepositTicket(tokens, params, cb); 87 handlerDepositTicket(tokens, params, cb);
84 } 88 }
85 else if (commandGroup === 'disabledownline') { 89 else if (commandGroup === 'disabledownline') {
86 handlerDisableDownline(tokens, params, cb); 90 handlerDisableDownline(tokens, params, cb);
87 } 91 }
88 else if (commandGroup === 'supplierbalances') { 92 else if (commandGroup === 'supplierbalances') {
89 handlerSupplierBalances(tokens, params, cb); 93 handlerSupplierBalances(tokens, params, cb);
90 } 94 }
91 else if (commandGroup === 'help') { 95 else if (commandGroup === 'help') {
92 handlerHelp(cb) 96 handlerHelp(cb)
93 } 97 }
94 else { 98 else {
95 cb(commandError.ERR_NOT_IMPLEMENTED); 99 cb(commandError.ERR_NOT_IMPLEMENTED);
96 } 100 }
97 } 101 }
98 102
99 module.exports = execute; 103 module.exports = execute;
lib/command-handler/listdeposit.js
File was created 1 const coreEndpoint = '/histories/mutations/deposit-and-transfer';
2
3 const commandError = require('./error');
4 const coreapi = require('../coreapi');
5
6 function help(keyword) {
7 return `
8 Format perintah utk list deposit dan transfer:
9
10 ${ keyword.toUpperCase() }.<PIN> atau ${ keyword.toUpperCase() }.<TANGGAL>.<PIN>.
11
12 <TANGGAL> dlm format YYYY-MM-DD, contoh 2018-12-31 untuk tanggal 31 Desember 2018.
13 `.trim();
14 }
15
16 function execute(tokens, params, cb) {
17
18 if (!tokens || tokens.length < 2) {
19 const responseParams = {
20 body: `${ commandError.ERR_INVALID_FORMAT }. ${ help(tokens[0]) }`
21 }
22
23 cb(null, null, responseParams);
24 return;
25 }
26
27 const idxPin = tokens.length < 3 ? 1 : 2;
28
29 const coreParams = {
30 origin: params.origin,
31 asker_terminal_name: params.from,
32 asker_terminal_password: tokens[idxPin],
33 created_date: tokens.length < 3 ? null : tokens[1],
34 };
35
36 coreapi(coreEndpoint, coreParams, 'GET', cb);
37 }
38
39 module.exports = execute;
lib/default-command.js
1 module.exports = { 1 module.exports = {
2 help: [ 2 help: [
3 "bantu", 3 "bantu",
4 "bantuan", 4 "bantuan",
5 "format", 5 "format",
6 "help", 6 "help",
7 "tolong", 7 "tolong",
8 ], 8 ],
9 buy: [ 9 buy: [
10 "beli", 10 "beli",
11 "buy", 11 "buy",
12 "i", 12 "i",
13 "isi", 13 "isi",
14 ], 14 ],
15 _statuscheck: [ 15 _statuscheck: [
16 "cekstatus", 16 "cekstatus",
17 "checkstatus", 17 "checkstatus",
18 "status", 18 "status",
19 ], 19 ],
20 balance: [ 20 balance: [
21 "bal", 21 "bal",
22 "balance", 22 "balance",
23 "ceksaldo", 23 "ceksaldo",
24 "checksaldo", 24 "checksaldo",
25 "s", 25 "s",
26 "sal", 26 "sal",
27 "saldo", 27 "saldo",
28 ], 28 ],
29 transferbalance: [ 29 transferbalance: [
30 "transfer", 30 "transfer",
31 "trf", 31 "trf",
32 ], 32 ],
33 addbalance: [ 33 addbalance: [
34 "addbalance", 34 "addbalance",
35 "addbal", 35 "addbal",
36 "tambahsaldo", 36 "tambahsaldo",
37 ], 37 ],
38 listdownline: [ 38 listdownline: [
39 "dllist", 39 "dllist",
40 "dlls", 40 "dlls",
41 "downlinelist", 41 "downlinelist",
42 "downlinels", 42 "downlinels",
43 "ldl", 43 "ldl",
44 "listdl", 44 "listdl",
45 "listdownline", 45 "listdownline",
46 "listmitra", 46 "listmitra",
47 "lsdl", 47 "lsdl",
48 "lsdownline", 48 "lsdownline",
49 "lsmitra", 49 "lsmitra",
50 "mitrals", 50 "mitrals",
51 ], 51 ],
52 adddownline: [ 52 adddownline: [
53 "adddl", 53 "adddl",
54 "adddownline", 54 "adddownline",
55 "addmitra", 55 "addmitra",
56 "buatdl", 56 "buatdl",
57 "buatdownline", 57 "buatdownline",
58 "createdl", 58 "createdl",
59 "createdownlne", 59 "createdownlne",
60 "createmitra", 60 "createmitra",
61 "regdl", 61 "regdl",
62 "regdownline", 62 "regdownline",
63 "registerdl", 63 "registerdl",
64 "registerdownline", 64 "registerdownline",
65 "registermitra", 65 "registermitra",
66 "regmitra", 66 "regmitra",
67 "tambahdl", 67 "tambahdl",
68 "tambahdownline", 68 "tambahdownline",
69 "tambahmitra", 69 "tambahmitra",
70 ], 70 ],
71 downlineinfo: [ 71 downlineinfo: [
72 "dl", 72 "dl",
73 "downline", 73 "downline",
74 "mitra", 74 "mitra",
75 "saldodownline", 75 "saldodownline",
76 "saldomitra", 76 "saldomitra",
77 "sd", 77 "sd",
78 "sdl", 78 "sdl",
79 ], 79 ],
80 disabledownline: [ 80 disabledownline: [
81 "disabledl", 81 "disabledl",
82 "disabledownline", 82 "disabledownline",
83 "disablemitra", 83 "disablemitra",
84 "nonaktifdl", 84 "nonaktifdl",
85 "nonaktifdownline", 85 "nonaktifdownline",
86 "nonaktifkandl", 86 "nonaktifkandl",
87 "nonaktifkandownline", 87 "nonaktifkandownline",
88 "nonaktifkanmitra", 88 "nonaktifkanmitra",
89 "nonaktifmitra", 89 "nonaktifmitra",
90 ], 90 ],
91 enabledownline: [ 91 enabledownline: [
92 "aktifkandl", 92 "aktifkandl",
93 "aktifkandownline", 93 "aktifkandownline",
94 "aktifkanmitra", 94 "aktifkanmitra",
95 "aktivasidl", 95 "aktivasidl",
96 "aktivasidownline", 96 "aktivasidownline",
97 "aktivasimitra", 97 "aktivasimitra",
98 "enabledl", 98 "enabledl",
99 "enabledownline", 99 "enabledownline",
100 "enablemitra", 100 "enablemitra",
101 ], 101 ],
102 daysummary: [ 102 daysummary: [
103 "lap", 103 "lap",
104 "laporan", 104 "laporan",
105 "rekap", 105 "rekap",
106 ], 106 ],
107 daysummaryall: [ 107 daysummaryall: [
108 "lapall", 108 "lapall",
109 "laporanall", 109 "laporanall",
110 "rekapall", 110 "rekapall",
111 ], 111 ],
112 _daysummarydownline: [ 112 _daysummarydownline: [
113 "lapdl", 113 "lapdl",
114 "lapdownline", 114 "lapdownline",
115 "lapmitra", 115 "lapmitra",
116 "laporandl", 116 "laporandl",
117 "laporandownline", 117 "laporandownline",
118 "laporanmitra", 118 "laporanmitra",
119 "rekapalldl", 119 "rekapalldl",
120 "rekapalldownline", 120 "rekapalldownline",
121 "rekapallmitra", 121 "rekapallmitra",
122 ], 122 ],
123 _maintenanceactivate: [ 123 _maintenanceactivate: [
124 "activatemaintenance", 124 "activatemaintenance",
125 "maintenanceactivate" 125 "maintenanceactivate"
126 ], 126 ],
127 _maintenancedeactivate: [ 127 _maintenancedeactivate: [
128 "deactivatemaintenance", 128 "deactivatemaintenance",
129 "maintenancedeactivate" 129 "maintenancedeactivate"
130 ], 130 ],
131 price: [ 131 price: [
132 "cekharga", 132 "cekharga",
133 "ch", 133 "ch",
134 "checkharga", 134 "checkharga",
135 "h", 135 "h",
136 "harga", 136 "harga",
137 "hargaproduct", 137 "hargaproduct",
138 "hargaproduk", 138 "hargaproduk",
139 "price", 139 "price",
140 ], 140 ],
141 changepin: [ 141 changepin: [
142 "changepin", 142 "changepin",
143 "gantipin", 143 "gantipin",
144 "pin", 144 "pin",
145 "setpin", 145 "setpin",
146 "ubahpin", 146 "ubahpin",
147 ], 147 ],
148 depositticket: [ 148 depositticket: [
149 'depo', 149 'depo',
150 'depositticket', 150 'depositticket',
151 'depoticket', 151 'depoticket',
152 'tiket', 152 'tiket',
153 'tiketdeposit', 153 'tiketdeposit',
154 ], 154 ],
155 listdeposit: [
156 'depolist',
157 'depositlist',
158 'listdepo',
159 'listdeposit',
160 'listtransfer',
161 'listtrf',
162 'rekapdepo',
163 'rekapdeposit',
164 'rekaptransfer',
165 'rekaptrf',
166 ],
155 listterminal: [ 167 listterminal: [
156 'listmsisdn', 168 'listmsisdn',
157 'listterminal', 169 'listterminal',
158 'listterm', 170 'listterm',
159 'lsmsisdn', 171 'lsmsisdn',
160 'lsterminal', 172 'lsterminal',
161 'lsterm', 173 'lsterm',
162 'msisdn', 174 'msisdn',
163 'msisdnlist', 175 'msisdnlist',
164 'msisdnls', 176 'msisdnls',
165 'terminal', 177 'terminal',
166 'terminallist', 178 'terminallist',
167 'terminalls', 179 'terminalls',
168 'terminalterdaftar', 180 'terminalterdaftar',
169 ], 181 ],
170 addterminal: [ 182 addterminal: [
171 'addmsisdn', 183 'addmsisdn',
172 'addterminal', 184 'addterminal',
173 'createmsisdn', 185 'createmsisdn',
174 'createterminal', 186 'createterminal',
175 'msisdnadd', 187 'msisdnadd',
176 'newmsisdn', 188 'newmsisdn',
177 'newterminal', 189 'newterminal',
178 'registerterminal', 190 'registerterminal',
179 'regmsisdn', 191 'regmsisdn',
180 'regterminal', 192 'regterminal',
181 'tambahmsisdn', 193 'tambahmsisdn',
182 'tambahterminal', 194 'tambahterminal',
183 'terminaladd', 195 'terminaladd',
184 ], 196 ],
185 supplierbalances: [ 197 supplierbalances: [
186 'supbal', 198 'supbal',
187 'supplier', 199 'supplier',
188 'supplierbal', 200 'supplierbal',
189 'supplierbalance', 201 'supplierbalance',
190 'supplierbalances', 202 'supplierbalances',
191 'suppliers', 203 'suppliers',
192 'suppliersbal', 204 'suppliersbal',
193 'suppliersbalance', 205 'suppliersbalance',
194 'suppliersbalances', 206 'suppliersbalances',
195 ], 207 ],
196 listtrx: [ 208 listtrx: [
197 'listtrx', 209 'listtrx',
198 'listtransaksi', 210 'listtransaksi',
199 ], 211 ],
200 listtrxall: [ 212 listtrxall: [
201 'listtrxall', 213 'listtrxall',
202 'listtransaksiall', 214 'listtransaksiall',
203 ], 215 ],
204 _setmarkup: [ 216 _setmarkup: [
205 'markup' 217 'markup'
206 ], 218 ],
207 _news: [ 219 _news: [
208 'berita', 220 'berita',
209 'news', 221 'news',
210 'promo', 222 'promo',
211 ] 223 ]
212 } 224 }
213 225