79 lines
2.1 KiB
JavaScript
79 lines
2.1 KiB
JavaScript
const path = require("path");
|
|
require("dotenv").config({
|
|
path: path.resolve(
|
|
process.cwd(),
|
|
`.env.${process.env.NODE_ENV || "development"}`
|
|
),
|
|
});
|
|
const GraphQLClient = require("graphql-request").GraphQLClient;
|
|
const soap = require("soap");
|
|
const queries = require("../graphql-client/queries");
|
|
const CdkBase = require("../web-sockets/web-socket");
|
|
const CdkWsdl = require("./cdk-wsdl").default;
|
|
const logger = require("../utils/logger");
|
|
const Dinero = require("dinero.js");
|
|
const _ = require("lodash");
|
|
const { CDK_CREDENTIALS, CheckCdkResponseForError } = require("./cdk-wsdl");
|
|
const { performance } = require("perf_hooks");
|
|
|
|
exports.default = async function (socket, cdk_dealerid) {
|
|
try {
|
|
CdkBase.createLogEvent(
|
|
socket,
|
|
"DEBUG",
|
|
`Getting makes and models list from CDK.`
|
|
);
|
|
return await GetCdkMakes(socket, cdk_dealerid);
|
|
} catch (error) {
|
|
CdkBase.createLogEvent(
|
|
socket,
|
|
"ERROR",
|
|
`Error encountered in CdkGetMakes. ${error}`
|
|
);
|
|
}
|
|
};
|
|
|
|
async function GetCdkMakes(socket, cdk_dealerid) {
|
|
CdkBase.createLogEvent(socket, "TRACE", `{1} Begin GetCDkMakes WSDL Call`);
|
|
|
|
try {
|
|
const soapClientVehicleInsert = await soap.createClientAsync(
|
|
CdkWsdl.VehicleInsert
|
|
);
|
|
const start = performance.now();
|
|
|
|
const soapResponseVehicleSearch =
|
|
await soapClientVehicleInsert.getMakeModelAsync(
|
|
{
|
|
arg0: CDK_CREDENTIALS,
|
|
arg1: { id: cdk_dealerid },
|
|
},
|
|
|
|
{}
|
|
);
|
|
CheckCdkResponseForError(socket, soapResponseVehicleSearch);
|
|
const [
|
|
result, //rawResponse, soapheader, rawRequest
|
|
] = soapResponseVehicleSearch;
|
|
const end = performance.now();
|
|
CdkBase.createLogEvent(
|
|
socket,
|
|
"TRACE",
|
|
`soapClientVehicleInsert.getMakeModelAsync Result Length ${
|
|
result.return.length
|
|
} and took ${end - start}ms`
|
|
);
|
|
|
|
return result.return.map((element, index) => {
|
|
return { id: index, ...element };
|
|
});
|
|
} catch (error) {
|
|
CdkBase.createLogEvent(
|
|
socket,
|
|
"ERROR",
|
|
`Error in GetCdkMakes - ${JSON.stringify(error, null, 2)}`
|
|
);
|
|
throw new Error(error);
|
|
}
|
|
}
|