Files
bodyshop/server/cdk/cdk-get-makes.js
2021-08-11 11:08:03 -07:00

81 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,
checkIndividualResult,
} = require("./cdk-wsdl");
exports.default = async function (socket, cdk_dealerid) {
try {
CdkBase.createLogEvent(
socket,
"DEBUG",
`Getting makes and models list from CDK.`
);
const t = await GetCdkMakes(socket, cdk_dealerid);
console.log(t);
return [];
} 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 soapClientVehicleSearch = await soap.createClientAsync(
CdkWsdl.VehicleSearch
);
const soapResponseVehicleSearch =
await soapClientVehicleSearch.getVehIdsAsync(
{
arg0: CDK_CREDENTIALS,
arg1: { id: cdk_dealerid },
},
{}
);
CheckCdkResponseForError(socket, soapResponseVehicleSearch);
const [
result, //rawResponse, soapheader, rawRequest
] = soapResponseVehicleSearch;
CdkBase.createLogEvent(
socket,
"TRACE",
`soapResponseVehicleSearch.searchIDsByVINAsync Result ${JSON.stringify(
result,
null,
2
)}`
);
const DmsVehicle = result && result.return && result.return[0];
return DmsVehicle;
} catch (error) {
CdkBase.createLogEvent(
socket,
"ERROR",
`Error in CalculateDmsVid - ${JSON.stringify(error, null, 2)}`
);
throw new Error(error);
}
}