Commit 48dcd97e8478564ff6f1db8889c3aa09d9ba3a08

Authored by adi surya
1 parent 4f830c4851
Exists in master

fix get response

Showing 1 changed file with 8 additions and 4 deletions Inline Diff

1 const MODULE_NAME = 'ACTIONS.BUY'; 1 const MODULE_NAME = 'ACTIONS.BUY';
2 2
3 const logger = require('tektrans-logger'); 3 const logger = require('tektrans-logger');
4 const axios = require('axios').default; 4 const axios = require('axios').default;
5 5
6 const config = require('../config'); 6 const config = require('../config');
7 const configData = require('../config/data'); 7 const configData = require('../config/data');
8 8
9 const buyToSDS = require('./buy-to-sds'); 9 const buyToSDS = require('./buy-to-sds');
10 10
11 const client = axios.create({ 11 const client = axios.create({
12 baseURL: config.core.url, 12 baseURL: config.core.url,
13 timeout: config.core.request_timeout_ms, 13 timeout: config.core.request_timeout_ms,
14 headers: { 14 headers: {
15 'x-access-token': config.core.access_token, 15 'x-access-token': config.core.access_token,
16 }, 16 },
17 }); 17 });
18 18
19 /** 19 /**
20 * Buy a product from supplier komodo 20 * Buy a product from supplier komodo
21 * 21 *
22 * @param {string} xid 22 * @param {string} xid
23 * @param {object} transaction 23 * @param {object} transaction
24 * 24 *
25 */ 25 */
26 module.exports = async (xid, transaction) => { 26 module.exports = async (xid, transaction) => {
27 try { 27 try {
28 logger.verbose(`${MODULE_NAME} 4B139379: Buy product to komodo`, { 28 logger.verbose(`${MODULE_NAME} 4B139379: Buy product to komodo`, {
29 xid, 29 xid,
30 transaction, 30 transaction,
31 }); 31 });
32 const iConfig = await configData.all(); 32 const iConfig = await configData.all();
33 33
34 let productName = transaction.product_name; 34 let productName = transaction.product_name;
35 if ( 35 if (
36 iConfig.products[transaction.product_name] 36 iConfig.products[transaction.product_name]
37 && iConfig.products[transaction.product_name].remote 37 && iConfig.products[transaction.product_name].remote
38 ) { 38 ) {
39 productName = iConfig.products[transaction.product_name].remote; 39 productName = iConfig.products[transaction.product_name].remote;
40 } 40 }
41 41
42 const callbackUrl = `${iConfig.url}:${iConfig.port}/apikey/${iConfig.apikey}/updates`; 42 const callbackUrl = `${iConfig.url}:${iConfig.port}/apikey/${iConfig.apikey}/updates`;
43 const result = await buyToSDS( 43 const result = await buyToSDS(
44 xid, 44 xid,
45 transaction.id, 45 `${transaction.request_id}-${transaction.id}`,
46 transaction.destination, 46 transaction.destination,
47 productName, 47 productName,
48 transaction.quantity, 48 transaction.quantity,
49 callbackUrl, 49 callbackUrl,
50 ); 50 );
51 logger.verbose(`${MODULE_NAME} 5BDFAF41: result from sds`, { 51 logger.verbose(`${MODULE_NAME} 5BDFAF41: result from sds`, {
52 xid, 52 xid,
53 trxId: transaction.id, 53 trxId: transaction.id,
54 result, 54 result,
55 }); 55 });
56 let rc = 40;
57 if (result.code === '200') {
58 rc = 68;
59 }
56 const params = { 60 const params = {
57 id: result.request_id, 61 id: transaction.id,
58 rc: result.rc, 62 rc,
59 amount: result.amount || null, 63 amount: result.amount || null,
60 message: result.message, 64 message: result.text,
61 sn: result.sn || null, 65 sn: result.sn || null,
62 }; 66 };
63 67
64 await client.post('/transactions/gateway-update', params); 68 await client.post('/transactions/gateway-update', params);
65 } catch (e) { 69 } catch (e) {
66 logger.warn(`${MODULE_NAME} E9887C98: Exception`, { 70 logger.warn(`${MODULE_NAME} E9887C98: Exception`, {
67 xid, 71 xid,
68 message: e.message, 72 message: e.message,
69 code: e.code, 73 code: e.code,
70 }); 74 });
71 } 75 }
72 }; 76 };
73 77