// const moment = require('moment'); const config = require('komodo-sdk/config'); const logger = require('tektrans-logger'); const commands = require('../command-group'); const commandError = require('./error'); const destinationCorrector = require('../destination-corrector'); const coreapi = require('../coreapi'); const coreEndpointAuto = '/buy-or-pay'; const coreEndpointBuy = '/prepaid/buy'; /* function generateRequestId(product, destination) { return `AUTO_${ product.toUpperCase() }_${ destination }_${ moment().format('YYYYMMDD') }`; } */ function help() { return 'Untuk pembelian, ketik perintah dengan format: <KODEPRODUK>.<NOMORTUJUAN>.<PIN>'; } function execute(tokens, params, cb) { if (!tokens || tokens.length < 3) { const responseParams = { body: `${commandError.ERR_INVALID_FORMAT}. ${help()}`, }; cb(null, null, responseParams); return; } if (commands[tokens[0]] !== 'buy') { tokens.unshift('buy'); logger.verbose('Rearrange tokens', { tokens }); } const destination = destinationCorrector((tokens[2] || '').trim()); const coreParams = { origin: params.origin, report_ip: params.report_ip, report_port: params.report_port, terminal_name: params.from, product_name: (tokens[1] || '').trim().toUpperCase(), destination, password: tokens[3], request_id_suffix: tokens[4] || '', postpaid: 0, }; const coreEndpoint = config.buy_only_prepaid ? coreEndpointBuy : coreEndpointAuto; coreapi(coreEndpoint, coreParams, 'GET', cb); } module.exports = execute;