Commit 29abebf10c30df55b5d636be3240cc13d1dc2739

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

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