From 9e61d939fc762955081d003ebf149015be124aa9 Mon Sep 17 00:00:00 2001 From: Adhidarma Hadiwinoto <adhisimon@gmail.com> Date: Mon, 31 May 2021 13:30:47 +0700 Subject: [PATCH] TOPUP: cleansed --- lib/partner-listener/routers/topup.js | 41 ++++++++++++++++++++++++++++------- package-lock.json | 37 +++++++++++++++++-------------- package.json | 2 +- 3 files changed, 55 insertions(+), 25 deletions(-) diff --git a/lib/partner-listener/routers/topup.js b/lib/partner-listener/routers/topup.js index aa9c81e..10b1ded 100644 --- a/lib/partner-listener/routers/topup.js +++ b/lib/partner-listener/routers/topup.js @@ -1,3 +1,5 @@ +const MODULE_NAME = 'PARTNER-LISTENER.ROUTER.TOPUP'; + const express = require('express'); const config = require('komodo-sdk/config'); @@ -9,7 +11,7 @@ const router = express.Router(); module.exports = router; function onInvalidParameter(missingParameter, req, res) { - logger.verbose(`TOPUP: Undefined ${missingParameter} parameter`, { + logger.verbose(`${MODULE_NAME} 1536D577: Undefined ${missingParameter} parameter`, { xid: res.locals.xid, ip: req.ip, terminal_name: req.body.terminal_name || req.query.terminal_name, @@ -52,10 +54,12 @@ function pagePrerequisite(req, res, next) { } async function pageIndex(req, res) { + const { xid } = res.locals; + const terminalName = `${req.body.terminal_name || req.query.terminal_name}@${req.ip.replace(/^::ffff:/, '')}`; const [err, coreResponse] = await coreapi({ - xid: res.locals.xid, + xid, path: '/prepaid/buy', qs: { terminal_name: terminalName, @@ -70,18 +74,39 @@ async function pageIndex(req, res) { }, }); - logger.verbose('Got CORE response', { xid: res.locals.xid, err, coreResponse }); - if (err || !coreResponse) { - logger.warn('TOPUP: ERROR on /prepaid/buy response', { - xid: res.locals.xid, err, coreResponseTypeof: typeof coreResponse, coreResponse, + logger.warn(`${MODULE_NAME} 8DEBE15F: ERROR on /prepaid/buy response`, { + xid, + err, + coreResponseTypeof: typeof coreResponse, + coreResponse, }); res.end('INVALID CORE RESPONSE'); return; } - // res.end('OK'); - res.json(coreResponse); + logger.verbose(`${MODULE_NAME} 2528A9B4: Got CORE response`, { + xid, + coreResponse, + }); + + const responseToPartner = { + httpgetx_xid: xid, + request_id: coreResponse.request_id, + transaction_id: coreResponse.transaction_id, + transaction_date: coreResponse.transaction_date, + store_name: coreResponse.store_name, + terminal_name: coreResponse.terminal_name, + product_name: coreResponse.product_name, + destination: coreResponse.destination, + rc: coreResponse.rc, + sn: coreResponse.sn, + amount: Number(coreResponse.amount) || null, + ending_balance: Number(coreResponse.ending_balance) || null, + message: coreResponse.message, + }; + + res.json(responseToPartner); } // router.all('/', (req, res) => { res.status(404).end('404: Not implemented yet'); }); diff --git a/package-lock.json b/package-lock.json index 1a0994a..970eee4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -356,9 +356,9 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "color-string": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.4.tgz", - "integrity": "sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==", + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.5.tgz", + "integrity": "sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg==", "requires": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" @@ -919,20 +919,25 @@ } }, "express-session": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.17.1.tgz", - "integrity": "sha512-UbHwgqjxQZJiWRTMyhvWGvjBQduGCSBDhhZXYenziMFjxst5rMV+aJZ6hKPHZnPyHGsrqRICxtX8jtEbm/z36Q==", + "version": "1.17.2", + "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.17.2.tgz", + "integrity": "sha512-mPcYcLA0lvh7D4Oqr5aNJFMtBMKPLl++OKKxkHzZ0U0oDq1rpKBnkR5f5vCHR26VeArlTOEF9td4x5IjICksRQ==", "requires": { - "cookie": "0.4.0", + "cookie": "0.4.1", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "~2.0.0", "on-headers": "~1.0.2", "parseurl": "~1.3.3", - "safe-buffer": "5.2.0", + "safe-buffer": "5.2.1", "uid-safe": "~2.1.5" }, "dependencies": { + "cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==" + }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -952,9 +957,9 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "safe-buffer": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", - "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" } } }, @@ -1001,9 +1006,9 @@ "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==" }, "fecha": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.0.tgz", - "integrity": "sha512-aN3pcx/DSmtyoovUudctc8+6Hl4T+hI9GBBHLjA76jdZl7+b1sgh5g4k+u/GL3dTy1/pnYzKp69FpJ0OicE3Wg==" + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.1.tgz", + "integrity": "sha512-MMMQ0ludy/nBs1/o0zVOiKTpG7qMbonKUzjJgQFEuvq6INZ1OraKPRAWkBq5vlKLOUMpmNYG1JoN3oDPUQ9m3Q==" }, "figures": { "version": "3.2.0", @@ -1599,8 +1604,8 @@ } }, "komodo-sdk": { - "version": "git+http://gitlab.kodesumber.com/komodo/komodo-sdk.git#4af07f8facf4d10ced4da38c4d44e1a4670a5165", - "from": "git+http://gitlab.kodesumber.com/komodo/komodo-sdk.git", + "version": "git+https://gitlab.kodesumber.com/komodo/komodo-sdk.git#4af07f8facf4d10ced4da38c4d44e1a4670a5165", + "from": "git+https://gitlab.kodesumber.com/komodo/komodo-sdk.git", "requires": { "array-unique": "^0.3.2", "basic-auth": "^2.0.0", diff --git a/package.json b/package.json index b019c47..9b9045b 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "dependencies": { "axios": "^0.19.2", "express": "^4.17.1", - "komodo-sdk": "git+http://gitlab.kodesumber.com/komodo/komodo-sdk.git", + "komodo-sdk": "git+https://gitlab.kodesumber.com/komodo/komodo-sdk.git", "moment": "^2.24.0", "request": "^2.88.0", "uniqid": "^5.0.3", -- 1.9.0