Commit 29abebf10c30df55b5d636be3240cc13d1dc2739
1 parent
205954bc7c
Exists in
master
and in
1 other branch
Hapus field password pada response trx-status
Showing 1 changed file with 1 additions and 2 deletions Inline Diff
lib/partner-listener/routers/trx-status.js
1 | const express = require('express'); | 1 | const express = require('express'); |
2 | const moment = require('moment'); | 2 | const moment = require('moment'); |
3 | 3 | ||
4 | const logger = require('komodo-sdk/logger'); | 4 | const logger = require('komodo-sdk/logger'); |
5 | 5 | ||
6 | const coreapi = require('../../coreapi'); | 6 | const coreapi = require('../../coreapi'); |
7 | 7 | ||
8 | const router = express.Router(); | 8 | const router = express.Router(); |
9 | module.exports = router; | 9 | module.exports = router; |
10 | 10 | ||
11 | async function pageIndex(req, res) { | 11 | async function pageIndex(req, res) { |
12 | if (!req.body) req.body = {}; | 12 | if (!req.body) req.body = {}; |
13 | 13 | ||
14 | if (!req.body.terminal_name && !req.query.terminal_name) { | 14 | if (!req.body.terminal_name && !req.query.terminal_name) { |
15 | res.json({ | 15 | res.json({ |
16 | error: 'Parameter terminal_name tidak terdefinisi', | 16 | error: 'Parameter terminal_name tidak terdefinisi', |
17 | }); | 17 | }); |
18 | return; | 18 | return; |
19 | } | 19 | } |
20 | 20 | ||
21 | if (!req.body.password && !req.query.password) { | 21 | if (!req.body.password && !req.query.password) { |
22 | res.json({ | 22 | res.json({ |
23 | error: true, | 23 | error: true, |
24 | message: 'Parameter password tidak terdefinisi', | 24 | message: 'Parameter password tidak terdefinisi', |
25 | }); | 25 | }); |
26 | return; | 26 | return; |
27 | } | 27 | } |
28 | 28 | ||
29 | if (!req.body.request_id && !req.query.request_id) { | 29 | if (!req.body.request_id && !req.query.request_id) { |
30 | res.json({ | 30 | res.json({ |
31 | error: true, | 31 | error: true, |
32 | message: 'Parameter request_id tidak terdefinisi', | 32 | message: 'Parameter request_id tidak terdefinisi', |
33 | }); | 33 | }); |
34 | return; | 34 | return; |
35 | } | 35 | } |
36 | 36 | ||
37 | const remoteIp = req.ip.replace(/^::ffff:/, ''); | 37 | const remoteIp = req.ip.replace(/^::ffff:/, ''); |
38 | const askerTerminalName = `${req.body.terminal_name || req.query.terminal_name}@${remoteIp}`; | 38 | const askerTerminalName = `${req.body.terminal_name || req.query.terminal_name}@${remoteIp}`; |
39 | 39 | ||
40 | const coreResponse = await coreapi({ | 40 | const coreResponse = await coreapi({ |
41 | xid: res.locals.xid, | 41 | xid: res.locals.xid, |
42 | path: '/trx-status/view', | 42 | path: '/trx-status/view', |
43 | qs: { | 43 | qs: { |
44 | asker_terminal_name: askerTerminalName, | 44 | asker_terminal_name: askerTerminalName, |
45 | asker_terminal_password: req.body.password || req.query.password, | 45 | asker_terminal_password: req.body.password || req.query.password, |
46 | request_id: req.body.request_id || req.query.request_id, | 46 | request_id: req.body.request_id || req.query.request_id, |
47 | }, | 47 | }, |
48 | }); | 48 | }); |
49 | 49 | ||
50 | if (!coreResponse || !coreResponse.status) { | 50 | if (!coreResponse || !coreResponse.status) { |
51 | const msg = 'Status transaksi tidak dapat diketahui karena suatu kesalahan pada sistem'; | 51 | const msg = 'Status transaksi tidak dapat diketahui karena suatu kesalahan pada sistem'; |
52 | 52 | ||
53 | logger.warn(msg, { | 53 | logger.warn(msg, { |
54 | xid: res.locals.xid, | 54 | xid: res.locals.xid, |
55 | ip: req.ip, | 55 | ip: req.ip, |
56 | terminal_name: req.body.terminal_name || req.query.terminal_name, | 56 | terminal_name: req.body.terminal_name || req.query.terminal_name, |
57 | request_id: req.body.request_id || req.query.request_id, | 57 | request_id: req.body.request_id || req.query.request_id, |
58 | }); | 58 | }); |
59 | 59 | ||
60 | res.json({ | 60 | res.json({ |
61 | error: true, | 61 | error: true, |
62 | from_ip: remoteIp, | 62 | from_ip: remoteIp, |
63 | terminal_name: req.body.terminal_name || req.query.terminal_name, | 63 | terminal_name: req.body.terminal_name || req.query.terminal_name, |
64 | full_terminal_name: askerTerminalName, | 64 | full_terminal_name: askerTerminalName, |
65 | password: req.body.password || req.query.password, | 65 | password: req.body.password || req.query.password, |
66 | message: msg, | 66 | message: msg, |
67 | }); | 67 | }); |
68 | return; | 68 | return; |
69 | } | 69 | } |
70 | 70 | ||
71 | const trx = coreResponse && coreResponse.result ? { | 71 | const trx = coreResponse && coreResponse.result ? { |
72 | id: coreResponse.result.id, | 72 | id: coreResponse.result.id, |
73 | request_id: coreResponse.result.request_id, | 73 | request_id: coreResponse.result.request_id, |
74 | store_id: coreResponse.result.store_id, | 74 | store_id: coreResponse.result.store_id, |
75 | store_name: coreResponse.result.store_name, | 75 | store_name: coreResponse.result.store_name, |
76 | terminal_id: coreResponse.result.terminal_id, | 76 | terminal_id: coreResponse.result.terminal_id, |
77 | terminal_name: coreResponse.result.terminal_name, | 77 | terminal_name: coreResponse.result.terminal_name, |
78 | 78 | ||
79 | created: moment(coreResponse.result.created).format('YYYY-MM-DD HH:mm:ss'), | 79 | created: moment(coreResponse.result.created).format('YYYY-MM-DD HH:mm:ss'), |
80 | modified: moment(coreResponse.result.modified).format('YYYY-MM-DD HH:mm:ss'), | 80 | modified: moment(coreResponse.result.modified).format('YYYY-MM-DD HH:mm:ss'), |
81 | 81 | ||
82 | product_name: coreResponse.result.product_name, | 82 | product_name: coreResponse.result.product_name, |
83 | destination: coreResponse.result.destination, | 83 | destination: coreResponse.result.destination, |
84 | amount: coreResponse.result.amount, | 84 | amount: coreResponse.result.amount, |
85 | ending_balance: coreResponse.result.ending_balance, | 85 | ending_balance: coreResponse.result.ending_balance, |
86 | rc: coreResponse.result.rc, | 86 | rc: coreResponse.result.rc, |
87 | message: coreResponse.result.reply_message, | 87 | message: coreResponse.result.reply_message, |
88 | sn: coreResponse.result.sn, | 88 | sn: coreResponse.result.sn, |
89 | } | 89 | } |
90 | : null; | 90 | : null; |
91 | 91 | ||
92 | const result = { | 92 | const result = { |
93 | error: coreResponse.status !== 'OK', | 93 | error: coreResponse.status !== 'OK', |
94 | from_ip: remoteIp, | 94 | from_ip: remoteIp, |
95 | terminal_name: req.body.terminal_name || req.query.terminal_name, | 95 | terminal_name: req.body.terminal_name || req.query.terminal_name, |
96 | full_terminal_name: askerTerminalName, | 96 | full_terminal_name: askerTerminalName, |
97 | password: req.body.password || req.query.password, | ||
98 | message: coreResponse.message, | 97 | message: coreResponse.message, |
99 | trx_found: Boolean(trx), | 98 | trx_found: !!trx, |
100 | trx, | 99 | trx, |
101 | // original_trx: coreResponse.result, | 100 | // original_trx: coreResponse.result, |
102 | }; | 101 | }; |
103 | 102 | ||
104 | res.json(result); | 103 | res.json(result); |
105 | 104 | ||
106 | logger.info('Partner request responded', { xid: res.locals.xid, processing_time_in_ms: new Date() - res.locals.x_http_request_ts, result }); | 105 | logger.info('Partner request responded', { xid: res.locals.xid, processing_time_in_ms: new Date() - res.locals.x_http_request_ts, result }); |
107 | } | 106 | } |
108 | 107 | ||
109 | router.get('/', pageIndex); | 108 | router.get('/', pageIndex); |
110 | 109 |