Commit ab4c19eca1df157710257a9f438eb6a3390eb2aa
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, |