Blame view

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