Commit e6970e66cdf63d9f9ec585db60b133b1648cbf59

Authored by adi surya
1 parent fcc793e8c3
Exists in master

rc as string

Showing 1 changed file with 2 additions and 2 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.request_id}-${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 ); 49 );
50 logger.verbose(`${MODULE_NAME} 5BDFAF41: result from sds`, { 50 logger.verbose(`${MODULE_NAME} 5BDFAF41: result from sds`, {
51 xid, 51 xid,
52 trxId: transaction.id, 52 trxId: transaction.id,
53 result, 53 result,
54 }); 54 });
55 let rc = 40; 55 let rc = '40';
56 if (result.code === '200') { 56 if (result.code === '200') {
57 rc = 68; 57 rc = '68';
58 } 58 }
59 const params = { 59 const params = {
60 id: transaction.id, 60 id: transaction.id,
61 rc, 61 rc,
62 amount: result.amount || null, 62 amount: result.amount || null,
63 message: result.text || '', 63 message: result.text || '',
64 sn: result.sn || null, 64 sn: result.sn || null,
65 }; 65 };
66 66
67 await client.post('/transactions/gateway-update', params); 67 await client.post('/transactions/gateway-update', params);
68 } catch (e) { 68 } catch (e) {
69 logger.warn(`${MODULE_NAME} E9887C98: Exception`, { 69 logger.warn(`${MODULE_NAME} E9887C98: Exception`, {
70 xid, 70 xid,
71 message: e.message, 71 message: e.message,
72 code: e.code, 72 code: e.code,
73 }); 73 });
74 } 74 }
75 }; 75 };
76 76