Commit 12f6d059c5a91def756f491c60c721ee3cbb6c75

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

LOG hashtag on trx-status

Showing 1 changed file with 18 additions and 5 deletions Inline Diff

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