IO-233 Add soap request structure

This commit is contained in:
Patrick Fic
2021-06-23 12:19:51 -07:00
parent 5be2d7bd39
commit 35273c64bd
7 changed files with 383 additions and 27 deletions

View File

@@ -6,31 +6,45 @@ require("dotenv").config({
),
});
const GraphQLClient = require("graphql-request").GraphQLClient;
const soap = require("soap");
const queries = require("../graphql-client/queries");
const CdkBase = require("./cdk");
const CdkWsdl = require("./cdk-wsdl").default;
const IMEX_CDK_USER = process.env.IMEX_CDK_USER,
IMEX_CDK_PASSWORD = process.env.IMEX_CDK_PASSWORD;
exports.default = async function (socket, jobid) {
CdkBase.createLogEvent(
socket,
"DEBUG",
`Received Job export request for id ${jobid}`
);
socket.logEvents = [];
try {
CdkBase.createLogEvent(
socket,
"DEBUG",
`Received Job export request for id ${jobid}`
);
const JobData = await QueryJobData(socket, jobid);
const JobData = await QueryJobData(socket, jobid);
console.log(JSON.stringify(JobData, null, 2));
const DealerId = JobData.bodyshop.cdk_dealerid;
const DealerId = JobData.bodyshop.dealerid;
CdkBase.createLogEvent(
socket,
"TRACE",
`Dealer ID detected: ${JSON.stringify(DealerId)}`
);
CdkBase.createLogEvent(
socket,
"TRACE",
`Dealer ID detected: ${JSON.stringify(DealerId)}`
);
await DetermineDMSVid(socket, JobData);
// Begin Calculate VID from DMS {1}
// Begin Calculate VID from DMS {1}
await DetermineDMSVid(socket, JobData);
} catch (error) {
CdkBase.createLogEvent(
socket,
"ERROR",
`Error encountered in JobExport. ${error}`
);
} finally {
//Ensure we always insert logEvents
//GQL to insert logevents.
}
};
async function QueryJobData(socket, jobid) {
@@ -42,11 +56,32 @@ async function QueryJobData(socket, jobid) {
CdkBase.createLogEvent(
socket,
"TRACE",
`Job data query result ${JSON.stringify(result)}`
`Job data query result ${JSON.stringify(result, null, 2)}`
);
return result;
return result.jobs_by_pk;
}
async function DetermineDMSVid(socket, JobData) {
CdkBase.createLogEvent(socket, "TRACE", "{1} Begin Determine DMS VehicleID");
try {
//Create SOAP Request for <getVehIds/>
const soapClient = await soap.createClientAsync(CdkWsdl.VehicleSearch);
const result = await soapClient.searchIDsByVINAsync(
{
arg0: { password: IMEX_CDK_PASSWORD, username: IMEX_CDK_USER },
arg1: { id: JobData.bodyshop.cdk_dealerid },
arg2: { VIN: JobData.v_vin },
},
{}
);
console.log(result);
} catch (error) {
CdkBase.createLogEvent(
socket,
"ERROR",
`Error in DetermineDMSVid - ${JSON.stringify(error, null, 2)}`
);
}
}