Commit a6fbe088d9cd9ae1a5fee54e44d84b6b6487f849

Authored by Adhidarma Hadiwinoto
1 parent d98766cab4
Exists in master

claimbonus

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

lib/command-handler/claimbonus.js
File was created 1 const coreEndpoint = '/rebate/claim-store';
2
3 const commandError = require('./error');
4 const coreapi = require('../coreapi');
5
6 function help(keyword) {
7 return `Untuk menarik bonus ke saldo, ketik perintah dengan format:\n${ keyword.toUpperCase() }.<PIN>`;
8 }
9
10 function execute(tokens, params, cb) {
11
12 if (!tokens || tokens.length < 2) {
13 const responseParams = {
14 body: `${ commandError.ERR_INVALID_FORMAT }. ${ help(tokens[0]) }`
15 }
16
17 cb(null, null, responseParams);
18 return;
19 }
20
21 const coreParams = {
22 asker_terminal_name: params.from,
23 asker_terminal_password: tokens[1],
24 };
25
26 coreapi(coreEndpoint, coreParams, 'GET', cb);
27 }
28
29 module.exports = execute;
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 handlerClaimBonus = require('./claimbonus');
15 const handlerDaySummary = require('./daysummary'); 16 const handlerDaySummary = require('./daysummary');
16 const handlerDepositTicket = require('./depositticket'); 17 const handlerDepositTicket = require('./depositticket');
17 const handlerDisableDownline = require('./disabledownline'); 18 const handlerDisableDownline = require('./disabledownline');
18 const handlerDownlineInfo = require('./downlineinfo'); 19 const handlerDownlineInfo = require('./downlineinfo');
19 const handlerEnableDownline = require('./enabledownline'); 20 const handlerEnableDownline = require('./enabledownline');
20 const handlerHelp = require('./help'); 21 const handlerHelp = require('./help');
21 const handlerListDeposit = require('./listdeposit'); 22 const handlerListDeposit = require('./listdeposit');
22 const handlerListDownline = require('./listdownline'); 23 const handlerListDownline = require('./listdownline');
23 const handlerListTerminal = require('./listterminal'); 24 const handlerListTerminal = require('./listterminal');
24 const handlerListTrx = require('./listtrx'); 25 const handlerListTrx = require('./listtrx');
25 const handlerPrice = require('./price'); 26 const handlerPrice = require('./price');
26 const handlerSupplierBalances = require('./supplierbalances'); 27 const handlerSupplierBalances = require('./supplierbalances');
27 const handlerTemporaryBonus = require('./temporarybonus'); 28 const handlerTemporaryBonus = require('./temporarybonus');
28 const handlerTransferBalance = require('./transferbalance'); 29 const handlerTransferBalance = require('./transferbalance');
29 30
30 function execute(msg, params, cb) { 31 function execute(msg, params, cb) {
31 32
32 if ( typeof msg !== 'string' || !msg.trim() ) { 33 if ( typeof msg !== 'string' || !msg.trim() ) {
33 cb(commandError.ERR_EMPTY_MESSAGE); 34 cb(commandError.ERR_EMPTY_MESSAGE);
34 return; 35 return;
35 } 36 }
36 37
37 const tokens = commandParser.splitToken(msg); 38 const tokens = commandParser.splitToken(msg);
38 const commandGroup = commandParser.extractCommandGroup(tokens); 39 const commandGroup = commandParser.extractCommandGroup(tokens);
39 params.commandGroup = commandGroup; 40 params.commandGroup = commandGroup;
40 logger.info('Processing message from partner', { msg, params, tokens, commandGroup }); 41 logger.info('Processing message from partner', { msg, params, tokens, commandGroup });
41 42
42 if (!commandGroup || commandGroup === 'buy') { 43 if (!commandGroup || commandGroup === 'buy') {
43 handlerBuy(tokens, params, cb); 44 handlerBuy(tokens, params, cb);
44 } 45 }
45 else if (commandGroup === 'balance') { 46 else if (commandGroup === 'balance') {
46 handlerBalance(tokens, params, cb); 47 handlerBalance(tokens, params, cb);
47 } 48 }
48 else if (commandGroup === 'addbalance') { 49 else if (commandGroup === 'addbalance') {
49 handlerAddBalance(tokens, params, cb); 50 handlerAddBalance(tokens, params, cb);
50 } 51 }
51 else if (commandGroup === 'transferbalance') { 52 else if (commandGroup === 'transferbalance') {
52 handlerTransferBalance(tokens, params, cb); 53 handlerTransferBalance(tokens, params, cb);
53 } 54 }
54 else if (commandGroup === 'price') { 55 else if (commandGroup === 'price') {
55 handlerPrice(tokens, params, cb); 56 handlerPrice(tokens, params, cb);
56 } 57 }
57 else if (commandGroup === 'listdownline') { 58 else if (commandGroup === 'listdownline') {
58 handlerListDownline(tokens, params, cb); 59 handlerListDownline(tokens, params, cb);
59 } 60 }
60 else if (commandGroup === 'downlineinfo') { 61 else if (commandGroup === 'downlineinfo') {
61 handlerDownlineInfo(tokens, params, cb); 62 handlerDownlineInfo(tokens, params, cb);
62 } 63 }
63 else if (commandGroup === 'adddownline') { 64 else if (commandGroup === 'adddownline') {
64 handlerAddDownline(tokens, params, cb); 65 handlerAddDownline(tokens, params, cb);
65 } 66 }
66 else if (commandGroup === 'listterminal') { 67 else if (commandGroup === 'listterminal') {
67 handlerListTerminal(tokens, params, cb); 68 handlerListTerminal(tokens, params, cb);
68 } 69 }
69 else if (commandGroup === 'listtrx' || commandGroup === 'listtrxall') { 70 else if (commandGroup === 'listtrx' || commandGroup === 'listtrxall') {
70 handlerListTrx(tokens, params, cb); 71 handlerListTrx(tokens, params, cb);
71 } 72 }
72 else if (commandGroup === 'listdeposit') { 73 else if (commandGroup === 'listdeposit') {
73 handlerListDeposit(tokens, params, cb); 74 handlerListDeposit(tokens, params, cb);
74 } 75 }
75 else if (commandGroup === 'addterminal') { 76 else if (commandGroup === 'addterminal') {
76 handlerAddTerminal(tokens, params, cb); 77 handlerAddTerminal(tokens, params, cb);
77 } 78 }
78 else if (commandGroup === 'changepin') { 79 else if (commandGroup === 'changepin') {
79 handlerChangePin(tokens, params, cb); 80 handlerChangePin(tokens, params, cb);
80 } 81 }
81 else if (commandGroup === 'enabledownline') { 82 else if (commandGroup === 'enabledownline') {
82 handlerEnableDownline(tokens, params, cb); 83 handlerEnableDownline(tokens, params, cb);
83 } 84 }
84 else if (commandGroup === 'daysummary' || commandGroup === 'daysummaryall') { 85 else if (commandGroup === 'daysummary' || commandGroup === 'daysummaryall') {
85 handlerDaySummary(tokens, params, cb); 86 handlerDaySummary(tokens, params, cb);
86 } 87 }
87 else if (commandGroup === 'depositticket') { 88 else if (commandGroup === 'depositticket') {
88 handlerDepositTicket(tokens, params, cb); 89 handlerDepositTicket(tokens, params, cb);
89 } 90 }
90 else if (commandGroup === 'disabledownline') { 91 else if (commandGroup === 'disabledownline') {
91 handlerDisableDownline(tokens, params, cb); 92 handlerDisableDownline(tokens, params, cb);
92 } 93 }
93 else if (commandGroup === 'supplierbalances') { 94 else if (commandGroup === 'supplierbalances') {
94 handlerSupplierBalances(tokens, params, cb); 95 handlerSupplierBalances(tokens, params, cb);
95 } 96 }
97 else if (commandGroup === 'claimbonus') {
98 handlerClaimBonus(tokens, params, cb);
99 }
96 else if (commandGroup === 'temporarybonus') { 100 else if (commandGroup === 'temporarybonus') {
97 handlerTemporaryBonus(tokens, params, cb); 101 handlerTemporaryBonus(tokens, params, cb);
98 } 102 }
99 else if (commandGroup === 'help') { 103 else if (commandGroup === 'help') {
100 handlerHelp(tokens, params, cb) 104 handlerHelp(tokens, params, cb)
101 } 105 }
102 else { 106 else {
103 cb(commandError.ERR_NOT_IMPLEMENTED); 107 cb(commandError.ERR_NOT_IMPLEMENTED);
104 } 108 }
105 } 109 }
106 110
107 module.exports = execute; 111 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: [ 155 listdeposit: [
156 'depolist', 156 'depolist',
157 'depositlist', 157 'depositlist',
158 'listdepo', 158 'listdepo',
159 'listdeposit', 159 'listdeposit',
160 'listtransfer', 160 'listtransfer',
161 'listtrf', 161 'listtrf',
162 'rekapdepo', 162 'rekapdepo',
163 'rekapdeposit', 163 'rekapdeposit',
164 'rekaptransfer', 164 'rekaptransfer',
165 'rekaptrf', 165 'rekaptrf',
166 'transferlist', 166 'transferlist',
167 'trflist', 167 'trflist',
168 ], 168 ],
169 listterminal: [ 169 listterminal: [
170 'listmsisdn', 170 'listmsisdn',
171 'listterminal', 171 'listterminal',
172 'listterm', 172 'listterm',
173 'lsmsisdn', 173 'lsmsisdn',
174 'lsterminal', 174 'lsterminal',
175 'lsterm', 175 'lsterm',
176 'msisdn', 176 'msisdn',
177 'msisdnlist', 177 'msisdnlist',
178 'msisdnls', 178 'msisdnls',
179 'terminal', 179 'terminal',
180 'terminallist', 180 'terminallist',
181 'terminalls', 181 'terminalls',
182 'terminalterdaftar', 182 'terminalterdaftar',
183 ], 183 ],
184 addterminal: [ 184 addterminal: [
185 'addmsisdn', 185 'addmsisdn',
186 'addterminal', 186 'addterminal',
187 'createmsisdn', 187 'createmsisdn',
188 'createterminal', 188 'createterminal',
189 'msisdnadd', 189 'msisdnadd',
190 'newmsisdn', 190 'newmsisdn',
191 'newterminal', 191 'newterminal',
192 'registerterminal', 192 'registerterminal',
193 'regmsisdn', 193 'regmsisdn',
194 'regterminal', 194 'regterminal',
195 'tambahmsisdn', 195 'tambahmsisdn',
196 'tambahterminal', 196 'tambahterminal',
197 'terminaladd', 197 'terminaladd',
198 ], 198 ],
199 supplierbalances: [ 199 supplierbalances: [
200 'supbal', 200 'supbal',
201 'supplier', 201 'supplier',
202 'supplierbal', 202 'supplierbal',
203 'supplierbalance', 203 'supplierbalance',
204 'supplierbalances', 204 'supplierbalances',
205 'suppliers', 205 'suppliers',
206 'suppliersbal', 206 'suppliersbal',
207 'suppliersbalance', 207 'suppliersbalance',
208 'suppliersbalances', 208 'suppliersbalances',
209 ], 209 ],
210 listtrx: [ 210 listtrx: [
211 'listtrx', 211 'listtrx',
212 'listtransaksi', 212 'listtransaksi',
213 ], 213 ],
214 listtrxall: [ 214 listtrxall: [
215 'listtrxall', 215 'listtrxall',
216 'listtransaksiall', 216 'listtransaksiall',
217 ], 217 ],
218 temporarybonus: [ 218 temporarybonus: [
219 'bonus', 219 'bonus',
220 'bonustemp', 220 'bonustemp',
221 'bonustemporary', 221 'bonustemporary',
222 'tempbonus', 222 'tempbonus',
223 'temporarybonus' 223 'temporarybonus'
224 ], 224 ],
225 claimbonus: [
226 'ambilbonus',
227 'ambilrebate',
228 'bonusclaim',
229 'claimbonus',
230 'claimrebate',
231 'rebateclaim',
232 'tarikbonus',
233 'tarikrebate',
234 ],
225 _setmarkup: [ 235 _setmarkup: [
226 'markup' 236 'markup'
227 ], 237 ],
228 _news: [ 238 _news: [
229 'berita', 239 'berita',
230 'news', 240 'news',
231 'promo', 241 'promo',
232 ] 242 ]
233 } 243 }
234 244