addterminal.js
1.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
"use strict";
const common = require('../common');
const commandError = require('./error');
const coreapi = require('../coreapi');
const coreEndpoint = '/terminals/create';
function help(keyword) {
return `Untuk membuat terminal, ketik perintah dengan format: ${ keyword.toUpperCase() }.<NAMATERMINALBARU>.<PINTERMINALBARU>.<PIN> atau ${ keyword.toUpperCase() }.<IDDOWNLINE>.<NAMATERMINALBARU>.<PINTERMINALBARU>.<PIN>`;
}
function execute(tokens, params, cb) {
if (!tokens || tokens.length < 4) {
const responseParams = {
body: `${ commandError.ERR_INVALID_FORMAT }. ${ help(tokens[0]) }`
}
cb(null, null, responseParams);
return;
}
const idxPin = (tokens.length < 5) ? 3 : 4;
const coreParams = {
asker_terminal_name: params.from,
asker_terminal_password: tokens[ idxPin ],
store_id: tokens.length > 4 ? tokens[1] : null,
terminal_name: tokens.length < 5 ? tokens[1] : tokens[2],
password: tokens.length < 5 ? tokens[2] : tokens[3]
};
if (typeof coreParams.terminal_name === 'string' && common.isPhoneNumber(coreParams.terminal_name) && coreParams.terminal_name.indexOf('0') === 0) {
coreParams.terminal_name = coreParams.terminal_name.replace(/^0/, '62');
}
coreapi(coreEndpoint, coreParams, 'GET', cb);
}
module.exports = execute;