Commit 9e61d939fc762955081d003ebf149015be124aa9

Authored by Adhidarma Hadiwinoto
1 parent bdbbbf27dc
Exists in master and in 1 other branch dev

TOPUP: cleansed

Showing 3 changed files with 55 additions and 25 deletions Side-by-side Diff

lib/partner-listener/routers/topup.js
  1 +const MODULE_NAME = 'PARTNER-LISTENER.ROUTER.TOPUP';
  2 +
1 3 const express = require('express');
2 4  
3 5 const config = require('komodo-sdk/config');
... ... @@ -9,7 +11,7 @@ const router = express.Router();
9 11 module.exports = router;
10 12  
11 13 function onInvalidParameter(missingParameter, req, res) {
12   - logger.verbose(`TOPUP: Undefined ${missingParameter} parameter`, {
  14 + logger.verbose(`${MODULE_NAME} 1536D577: Undefined ${missingParameter} parameter`, {
13 15 xid: res.locals.xid,
14 16 ip: req.ip,
15 17 terminal_name: req.body.terminal_name || req.query.terminal_name,
... ... @@ -52,10 +54,12 @@ function pagePrerequisite(req, res, next) {
52 54 }
53 55  
54 56 async function pageIndex(req, res) {
  57 + const { xid } = res.locals;
  58 +
55 59 const terminalName = `${req.body.terminal_name || req.query.terminal_name}@${req.ip.replace(/^::ffff:/, '')}`;
56 60  
57 61 const [err, coreResponse] = await coreapi({
58   - xid: res.locals.xid,
  62 + xid,
59 63 path: '/prepaid/buy',
60 64 qs: {
61 65 terminal_name: terminalName,
... ... @@ -70,18 +74,39 @@ async function pageIndex(req, res) {
70 74 },
71 75 });
72 76  
73   - logger.verbose('Got CORE response', { xid: res.locals.xid, err, coreResponse });
74   -
75 77 if (err || !coreResponse) {
76   - logger.warn('TOPUP: ERROR on /prepaid/buy response', {
77   - xid: res.locals.xid, err, coreResponseTypeof: typeof coreResponse, coreResponse,
  78 + logger.warn(`${MODULE_NAME} 8DEBE15F: ERROR on /prepaid/buy response`, {
  79 + xid,
  80 + err,
  81 + coreResponseTypeof: typeof coreResponse,
  82 + coreResponse,
78 83 });
79 84 res.end('INVALID CORE RESPONSE');
80 85 return;
81 86 }
82 87  
83   - // res.end('OK');
84   - res.json(coreResponse);
  88 + logger.verbose(`${MODULE_NAME} 2528A9B4: Got CORE response`, {
  89 + xid,
  90 + coreResponse,
  91 + });
  92 +
  93 + const responseToPartner = {
  94 + httpgetx_xid: xid,
  95 + request_id: coreResponse.request_id,
  96 + transaction_id: coreResponse.transaction_id,
  97 + transaction_date: coreResponse.transaction_date,
  98 + store_name: coreResponse.store_name,
  99 + terminal_name: coreResponse.terminal_name,
  100 + product_name: coreResponse.product_name,
  101 + destination: coreResponse.destination,
  102 + rc: coreResponse.rc,
  103 + sn: coreResponse.sn,
  104 + amount: Number(coreResponse.amount) || null,
  105 + ending_balance: Number(coreResponse.ending_balance) || null,
  106 + message: coreResponse.message,
  107 + };
  108 +
  109 + res.json(responseToPartner);
85 110 }
86 111  
87 112 // router.all('/', (req, res) => { res.status(404).end('404: Not implemented yet'); });
... ... @@ -356,9 +356,9 @@
356 356 "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
357 357 },
358 358 "color-string": {
359   - "version": "1.5.4",
360   - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.4.tgz",
361   - "integrity": "sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==",
  359 + "version": "1.5.5",
  360 + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.5.tgz",
  361 + "integrity": "sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg==",
362 362 "requires": {
363 363 "color-name": "^1.0.0",
364 364 "simple-swizzle": "^0.2.2"
... ... @@ -919,20 +919,25 @@
919 919 }
920 920 },
921 921 "express-session": {
922   - "version": "1.17.1",
923   - "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.17.1.tgz",
924   - "integrity": "sha512-UbHwgqjxQZJiWRTMyhvWGvjBQduGCSBDhhZXYenziMFjxst5rMV+aJZ6hKPHZnPyHGsrqRICxtX8jtEbm/z36Q==",
  922 + "version": "1.17.2",
  923 + "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.17.2.tgz",
  924 + "integrity": "sha512-mPcYcLA0lvh7D4Oqr5aNJFMtBMKPLl++OKKxkHzZ0U0oDq1rpKBnkR5f5vCHR26VeArlTOEF9td4x5IjICksRQ==",
925 925 "requires": {
926   - "cookie": "0.4.0",
  926 + "cookie": "0.4.1",
927 927 "cookie-signature": "1.0.6",
928 928 "debug": "2.6.9",
929 929 "depd": "~2.0.0",
930 930 "on-headers": "~1.0.2",
931 931 "parseurl": "~1.3.3",
932   - "safe-buffer": "5.2.0",
  932 + "safe-buffer": "5.2.1",
933 933 "uid-safe": "~2.1.5"
934 934 },
935 935 "dependencies": {
  936 + "cookie": {
  937 + "version": "0.4.1",
  938 + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz",
  939 + "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA=="
  940 + },
936 941 "debug": {
937 942 "version": "2.6.9",
938 943 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
... ... @@ -952,9 +957,9 @@
952 957 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
953 958 },
954 959 "safe-buffer": {
955   - "version": "5.2.0",
956   - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz",
957   - "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg=="
  960 + "version": "5.2.1",
  961 + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
  962 + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
958 963 }
959 964 }
960 965 },
... ... @@ -1001,9 +1006,9 @@
1001 1006 "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA=="
1002 1007 },
1003 1008 "fecha": {
1004   - "version": "4.2.0",
1005   - "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.0.tgz",
1006   - "integrity": "sha512-aN3pcx/DSmtyoovUudctc8+6Hl4T+hI9GBBHLjA76jdZl7+b1sgh5g4k+u/GL3dTy1/pnYzKp69FpJ0OicE3Wg=="
  1009 + "version": "4.2.1",
  1010 + "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.1.tgz",
  1011 + "integrity": "sha512-MMMQ0ludy/nBs1/o0zVOiKTpG7qMbonKUzjJgQFEuvq6INZ1OraKPRAWkBq5vlKLOUMpmNYG1JoN3oDPUQ9m3Q=="
1007 1012 },
1008 1013 "figures": {
1009 1014 "version": "3.2.0",
... ... @@ -1599,8 +1604,8 @@
1599 1604 }
1600 1605 },
1601 1606 "komodo-sdk": {
1602   - "version": "git+http://gitlab.kodesumber.com/komodo/komodo-sdk.git#4af07f8facf4d10ced4da38c4d44e1a4670a5165",
1603   - "from": "git+http://gitlab.kodesumber.com/komodo/komodo-sdk.git",
  1607 + "version": "git+https://gitlab.kodesumber.com/komodo/komodo-sdk.git#4af07f8facf4d10ced4da38c4d44e1a4670a5165",
  1608 + "from": "git+https://gitlab.kodesumber.com/komodo/komodo-sdk.git",
1604 1609 "requires": {
1605 1610 "array-unique": "^0.3.2",
1606 1611 "basic-auth": "^2.0.0",
... ... @@ -31,7 +31,7 @@
31 31 "dependencies": {
32 32 "axios": "^0.19.2",
33 33 "express": "^4.17.1",
34   - "komodo-sdk": "git+http://gitlab.kodesumber.com/komodo/komodo-sdk.git",
  34 + "komodo-sdk": "git+https://gitlab.kodesumber.com/komodo/komodo-sdk.git",
35 35 "moment": "^2.24.0",
36 36 "request": "^2.88.0",
37 37 "uniqid": "^5.0.3",