gps-adapter
Version:
A simple adapter to connect with GPS Soap Services
52 lines (50 loc) • 1.28 kB
JavaScript
/**
* Module exports.
* @public
*/
/**
* Module dependencies.
* @private
*/
require('dotenv').config();
const moment = require('moment');
const ENV = process.env;
const soap = require('soap');
var gpsResp=[];
const GPS = {
async Ws_Customer_Enquiry_V2(input,next){
return await new Promise(async function(resolve, reject) {
// preparing common inputs
input.IssCode = ENV.GPS_ISS_CODE;
input.LocDate = moment().format('YYYY-MM-DD');
input.LocTime = moment().format('HHMMSS');
input.WSID = Math.floor((Math.random() * 9999) + 1)+Date.now();
await soap.createClient(ENV.GPS_URL, function(err, client) {
client.addSoapHeader({"hyp:AuthSoapHeader":{
"hyp:strUserName":ENV.GPS_USER,
"hyp:strPassword":ENV.GPS_PASS
}});
if (err) {
console.error(err);
} else {
client.Ws_Customer_Enquiry_V2(input,
function(error, result) {
if (error) {
console.error(error);
}else{
let GpsResponse = result.Ws_Customer_Enquiry_V2Result;
gpsResp.push(GpsResponse);
resolve(gpsResp);
}
});
}
return gpsResp;
});
}).then(function(values) {
return values;
next();
});
}
}
module.exports = GPS;