Commit 9e61d939fc762955081d003ebf149015be124aa9
1 parent
bdbbbf27dc
Exists in
master
and in
1 other branch
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'); }); |
package-lock.json
... | ... | @@ -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", |
package.json
... | ... | @@ -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", |