router-ussd.js
1.2 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
'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);