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.
 
 
 

94 lines
3.6 KiB

'use strict'
const request = require("request");
const constants = require('../utils/consts');
const db = require('../utils/db_config');
const crypto = require('crypto');
const { getCurrentDateTime } = require("./helper");
function generateHMACSHA256(input, key) {
const hmac = crypto.createHmac('sha256', key);
hmac.update(input, 'utf8'); // Ensure input encoding matches C# (UTF-8)
return hmac.digest('hex');
}
let arrayGetList = ["2509295", "2509", "2820644", "437290"]
function getHashCode(req) {
// console.log(`368907||${getCurrentDateTime()}`, "DKDDODKOODDOK");
const inputString_GetInvestorDashboard = `${req}||${getCurrentDateTime()}`;
const key = "27E6A91CEE689";
const hash_GetInvestorDashboard = generateHMACSHA256(inputString_GetInvestorDashboard, key);
return hash_GetInvestorDashboard
}
const createLiquiloanInvestor = () => {
for (let i = 0; i < arrayGetList.length; i++) {
var options = {
method: 'POST',
url: 'https://supply-integration.liquiloans.com/api/v2/GetInvestmentSummary',
headers: {
'Content-Type': 'application/json',
'Cookie': 'AWSALB=9yK+sr19KPz9dgL+OcWl2hZ9MOhLlvF9PtNolmRnkviHh01CvjlIWH44NtfjIziyJFwnhrn3+JNhztFLJis+Ijq971nXr5QQVJBxId1uvjZyqKSl/6oFuidGkloW; AWSALBCORS=9yK+sr19KPz9dgL+OcWl2hZ9MOhLlvF9PtNolmRnkviHh01CvjlIWH44NtfjIziyJFwnhrn3+JNhztFLJis+Ijq971nXr5QQVJBxId1uvjZyqKSl/6oFuidGkloW'
},
body: JSON.stringify({
"investor_id": arrayGetList[i],
"timestamp": getCurrentDateTime(),
"checksum": getHashCode(arrayGetList[i]),
"mid": "M00201"
})
};
request(options, function (error, response) {
if (error) throw new Error(error);
getUrlAndStore(response.body)
});
}
}
const getUrlAndStore = async (body) => {
try {
const data = JSON.parse(body)
console.log(data, "KDDODKOKODODKDKO");
let callsData = data.data;
let calls = [];
// if (callsData.length) {
// for (let i = 0; i < callsData.length; i++) {
// let record = {};
// record.sid = callsData[i].Sid;
// record.date_created = callsData[i].DateCreated;
// record.date_updated = callsData[i].DateUpdated;
// record.account_sid = callsData[i].AccountSid;
// record.to = callsData[i].To;
// record.from = callsData[i].From;
// record.phone_number = callsData[i].PhoneNumber;
// record.phone_number_sid = callsData[i].PhoneNumberSid;
// record.status = callsData[i].Status;
// record.start_time = callsData[i].StartTime;
// record.end_time = callsData[i].EndTime;
// record.duration = callsData[i].Duration;
// record.price = callsData[i].Price;
// record.direction = callsData[i].Direction;
// record.recording_url = callsData[i].RecordingUrl;
// record.conversation_duration = callsData[i].Details.ConversationDuration;
// record.leg1_status = callsData[i].Details.Leg1Status;
// record.leg2_status = callsData[i].Details.Leg2Status;
// record.created_at = new Date();
// calls.push(record);
// console.log('calls---->', calls.length);
// await db.exotelCalls.bulkCreate(calls);
// }
}
catch (err) {
console.log(err);
winstonLogger.error('getUrlAndStore() error is : ' + err);
}
}
module.exports = {
createLiquiloanInvestor
}

Powered by TurnKey Linux.