Execute Liquiloans Transaction Script
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

101 lines
3.0 KiB

'use strict'
const request = require('request');
const db = require('../../utils/db_config');
const { getCurrentDateTime } = require("../helper");
const { getAllInvestorId } = require('../getInvestmentSummary')
const crypto = require('crypto');
const { HASH_KEY } = require('../../utils/consts');
const { getInvestorIdQuery } = require('./query');
const { errorLogStatus } = require('../Errorlog');
function generateHMACSHA256(input, key) {
const hmac = crypto.createHmac('sha256', key);
hmac.update(input, 'utf8');
return hmac.digest('hex');
}
function getHashCode(req) {
const inputString_GetInvestorDashboard = `||${getCurrentDateTime()}`;
const key = HASH_KEY;
const hash_GetInvestorDashboard = generateHMACSHA256(inputString_GetInvestorDashboard, key);
return hash_GetInvestorDashboard
}
const fetchInvestorDetails = ((req, res) => {
getAllInvstorData();
res.send("in procress");
})
const getAllInvstorData = async () => {
var options = {
method: 'POST',
url: 'https://supply-integration.liquiloans.com/api/v2/GetAllInvestors',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
mid: "M00201",
checksum: getHashCode(),
timestamp: getCurrentDateTime(),
filter_on: "",
filter_data: []
})
};
request(options, function (error, response) {
if (error) throw new Error(error);
getAllInvstorDataStore(response.body);
});
}
const getAllInvstorDataStore = async (body) => {
try {
const records = JSON.parse(body)
let item = records?.data
let storeData = [];
if (item.length) {
for (let i = 0; i < item?.length; i++) {
let log = await getInvestorIdQuery(item[i].investor_id);
if (log == 0) {
let data = {};
data.investor_id = item[i].investor_id,
data.name = item[i].name,
data.entity_type = item[i].entity_type,
data.pan = item[i].pan,
data.email = item[i].email,
data.contact_number = item[i].contact_number,
data.ifa_id = item[i].ifa_id,
data.created_at = item[i].created_at,
data.rm_name = item[i].rm_name,
data.last_updatedAt = new Date
storeData.push(data);
}
}
await db.liquiloansInvestors.bulkCreate(storeData);
}
} catch (err) {
errorLogStatus(err, "nodeJs_liquiloan_getAllInvstorDataStore")
}
}
// const isInvestorPresent = async (id) => {
// try {
// await getInvestorIdQuery(id)
// } catch (err) {
// // console.log("isInvestorPresent", err.message)
// errorLogStatus(err, "nodeJs_liquiloan_isInvestorPresent")
// }
// }
module.exports = {
fetchInvestorDetails
}

Powered by TurnKey Linux.