Commit ab4c19eca1df157710257a9f438eb6a3390eb2aa

Authored by Adhidarma Hadiwinoto
1 parent eb83d58a7b
Exists in master

router-ussd using modem-commands

Showing 1 changed file with 14 additions and 11 deletions Inline Diff

lib/http-command-server/router-ussd.js
1 'use strict'; 1 /**
2 * Router USSD
3 * @module
4 */
2 5
3 const express = require('express'); 6 const express = require('express');
4 7
5 const modem = require('../modem'); 8 // const modem = require('../modem');
9 const modem = require('../modem-commands');
6 10
7 const router = express.Router(); 11 const router = express.Router();
8 module.exports = router; 12 module.exports = router;
9 13
10 /** 14 /**
11 * Eksekusi kode USSD 15 * Handler untuk interface eksekusi kode USSD
12 * @param {object} req - Objek request Express
13 *
14 * Pilihan req.query.include_cusd2:
15 * -1: sebelum
16 * 0: tidak (default)
17 * 1: sesudah
18 * 2: sebelum dan sesudah
19 * 16 *
17 * @param {object} req - Objek request Express
20 * @param {object} req.query - Objek query string request Express 18 * @param {object} req.query - Objek query string request Express
21 * @param {string} req.query.code - Kode USSD yang ingin dieksekusi 19 * @param {string} req.query.code - Kode USSD yang ingin dieksekusi
22 * @param {number} [req.query.include_cusd2=0] - Apakah ingin mengeksekusi CUSD=2 secara otomatis 20 * @param {number|string} [req.query.include_cusd2=0] - Apakah ingin mengeksekusi CUSD=2.
21 * <br>-1: sebelum
22 * <br>0: tidak (default)
23 * <br>1: sesudah
24 * <br>2: sebelum dan sesudah
23 * @param {object} res - Objek respon Express 25 * @param {object} res - Objek respon Express
26 * @see module:modem-commands.executeUSSD
24 */ 27 */
25 async function handlerIndex(req, res) { 28 async function handlerIndex(req, res) {
26 if (!req.query || !req.query.code || typeof req.query.code !== 'string') { 29 if (!req.query || !req.query.code || typeof req.query.code !== 'string') {
27 res.json({ 30 res.json({
28 status: 'NOT-OK', 31 status: 'NOT-OK',
29 error: 'INVALID-PARAMETER', 32 error: 'INVALID-PARAMETER',
30 message: 'Undefined parameter: code', 33 message: 'Undefined parameter: code',
31 }); 34 });
32 35
33 return; 36 return;
34 } 37 }
35 38
36 const reply = await modem.executeUSSD(req.query.code, Number(req.query.include_cusd2)); 39 const reply = await modem.executeUSSD(req.query.code, Number(req.query.include_cusd2));
37 res.json({ 40 res.json({
38 status: 'OK', 41 status: 'OK',
39 error: false, 42 error: false,
40 code: req.query.code, 43 code: req.query.code,