/** * Router USSD * @module */ const express = require('express'); // const modem = require('../modem'); const modem = require('../modem-commands'); const router = express.Router(); module.exports = router; /** * Handler untuk interface eksekusi kode USSD * * @param {object} req - Objek request Express * @param {object} req.query - Objek query string request Express * @param {string} req.query.code - Kode USSD yang ingin dieksekusi * @param {number|string} [req.query.include_cusd2=0] - Apakah ingin mengeksekusi CUSD=2. * <br>-1: sebelum * <br>0: tidak (default) * <br>1: sesudah * <br>2: sebelum dan sesudah * @param {object} res - Objek respon Express * @see module:modem-commands.executeUSSD */ 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);