"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;