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