downlineinfo.js 1.12 KB
const CORE_ENDPOINT = '/stores/view';

const commandError = require('./error');
const coreapi = require('../coreapi');

function help(keyword) {
    return `
Untuk info sebuah downline, ketik perintah dengan format:

${keyword.toUpperCase()}.#<IDDOWNLINE>.<PIN>
atau
${keyword.toUpperCase()}.<TERMINALDOWNLINE>.<PIN>
    `.trim();
}

function execute(tokens, params, cb) {

    if (!tokens || tokens.length < 3) {
        const responseParams = {
            body: `
${ commandError.ERR_INVALID_FORMAT }: ${params.msg}

${ help(tokens[0]) }
            `.trim(),
        }

        cb(null, null, responseParams);
        return;
    }

    let downlineStoreId;
    let downlineTerminalName;
    if (tokens[1].indexOf('#') === 0) {
        downlineStoreId = tokens[1].replace(/^#/, '');
    } else {
        downlineTerminalName = tokens[1];
    }

    const coreParams = {
        asker_terminal_name: params.from,
        asker_terminal_password: tokens[2],
        downline_store_id: downlineStoreId,
        downline_terminal_name: downlineTerminalName,
    };

    coreapi(CORE_ENDPOINT, coreParams, 'GET', cb);
}

module.exports = execute;