'use strict'; const express = require('express'); const modem = require('../modem'); const router = express.Router(); module.exports = router; /** * Eksekusi kode USSD * @param {object} req - Objek request Express * * Pilihan req.query.include_cusd2: * -1: sebelum * 0: tidak (default) * 1: sesudah * 2: sebelum dan sesudah * * @param {object} req.query - Objek query string request Express * @param {string} req.query.code - Kode USSD yang ingin dieksekusi * @param {number} [req.query.include_cusd2=0] - Apakah ingin mengeksekusi CUSD=2 secara otomatis * @param {object} res - Objek respon Express */ async function handlerIndex(req, res) { if (!req.query || !req.query.code || typeof req.query.code !== 'string') { res.json({ status: 'NOT-OK', error: 'INVALID-PARAMETER', message: 'Undefined parameter: code', }); return; } const reply = await modem.executeUSSD(req.query.code, Number(req.query.include_cusd2)); res.json({ status: 'OK', error: false, code: req.query.code, include_cusd2: Number(req.query.include_cusd2) || 0, message: reply, }); } router.get('/', handlerIndex);