router-ussd.js
1.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/**
* 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);