const MODULE_NAME = 'HTTP-SERVER.ROUTER.UPDATES'; const express = require('express'); const axios = require('axios').default; const logger = require('tektrans-logger'); const config = require('../../../config'); const router = express.Router(); module.exports = router; const client = axios.create({ baseURL: config.core.url, timeout: config.core.request_timeout_ms, headers: { 'x-access-token': config.core.access_token, }, }); const pageUpdate = async (req, res) => { const { xid } = res.locals; let data = req.query; if (req.method.toUpperCase() !== 'GET') { data = req.body; } try { logger.verbose(`${MODULE_NAME} 9E5C70C8: update from komodo`, { xid, data }); const params = { id: data.request_id, rc: data.rc, amount: data.amount || null, message: data.message, sn: data.sn || null, bill_count: data.bill_count, bill_amount: data.bill_amount, related_data: null, amount_to_charge: data.amount_to_charge, }; client.post('/transactions/gateway-update', params).then((result) => { logger.verbose(`${MODULE_NAME} A8DA0D04: response from core2`, { xid, response: result.data, }); }).catch((err) => { logger.warn(`${MODULE_NAME} 32EB485C: Exception on request to core2`, { xid, eMessage: err.message, eCode: err.code, }); }); res.json({ error: false, message: 'OK' }); } catch (e) { logger.warn(`${MODULE_NAME} B12B4A2C: Exception.`, { xid, eMessage: e.message, eCode: e.code, }); res.status(500).json({ error: true, error_code: e.code, message: e.message, }); } }; router.get('/', pageUpdate); router.post('/', [express.urlencoded({ extended: true }), express.json()], pageUpdate);