release/2026-02-27 - Final RR debug fix
This commit is contained in:
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -12,7 +12,7 @@ const { createRRCustomer } = require("./rr-customers");
|
||||
const { ensureRRServiceVehicle } = require("./rr-service-vehicles");
|
||||
const { classifyRRVendorError } = require("./rr-errors");
|
||||
const { markRRExportSuccess, insertRRFailedExportLog } = require("./rr-export-logs");
|
||||
const { withRRRequestXml } = require("./rr-log-xml");
|
||||
const { withRRRequestXml, extractRRXmlPair } = require("./rr-log-xml");
|
||||
const {
|
||||
makeVehicleSearchPayloadFromJob,
|
||||
ownersFromVinBlocks,
|
||||
@@ -49,6 +49,21 @@ const resolveJobId = (explicit, payload, job) => explicit || payload?.jobId || j
|
||||
*/
|
||||
const resolveVin = ({ tx, job }) => tx?.jobData?.vin || job?.v_vin || null;
|
||||
|
||||
/**
|
||||
* Add request/response XML to socket event payloads when available.
|
||||
* @param rrObj
|
||||
* @param payload
|
||||
* @returns {*}
|
||||
*/
|
||||
const withRRXmlSocketPayload = (rrObj, payload = {}) => {
|
||||
const { requestXml, responseXml } = extractRRXmlPair(rrObj);
|
||||
return {
|
||||
...payload,
|
||||
...(requestXml ? { requestXml } : {}),
|
||||
...(responseXml ? { responseXml } : {})
|
||||
};
|
||||
};
|
||||
|
||||
/**
|
||||
* Sort vehicle owners first in the list, preserving original order otherwise.
|
||||
* @param list
|
||||
@@ -474,7 +489,14 @@ const registerRREvents = ({ socket, redisHelpers }) => {
|
||||
);
|
||||
|
||||
try {
|
||||
socket.emit("export-failed", { vendor: "rr", jobId: rid, error: error.message });
|
||||
socket.emit(
|
||||
"export-failed",
|
||||
withRRXmlSocketPayload(error, {
|
||||
vendor: "rr",
|
||||
jobId: rid,
|
||||
error: error.message
|
||||
})
|
||||
);
|
||||
} catch {
|
||||
//
|
||||
}
|
||||
@@ -870,9 +892,11 @@ const registerRREvents = ({ socket, redisHelpers }) => {
|
||||
});
|
||||
|
||||
socket.emit("export-failed", {
|
||||
vendor: "rr",
|
||||
jobId: rid,
|
||||
error: cls?.friendlyMessage || result?.error || "RR early RO creation failed",
|
||||
...withRRXmlSocketPayload(result, {
|
||||
vendor: "rr",
|
||||
jobId: rid,
|
||||
error: cls?.friendlyMessage || result?.error || "RR early RO creation failed"
|
||||
}),
|
||||
...cls
|
||||
});
|
||||
|
||||
@@ -923,9 +947,11 @@ const registerRREvents = ({ socket, redisHelpers }) => {
|
||||
|
||||
try {
|
||||
socket.emit("export-failed", {
|
||||
vendor: "rr",
|
||||
jobId: rid,
|
||||
error: error.message,
|
||||
...withRRXmlSocketPayload(error, {
|
||||
vendor: "rr",
|
||||
jobId: rid,
|
||||
error: error.message
|
||||
}),
|
||||
...cls
|
||||
});
|
||||
socket.emit("rr-user-notice", { jobId: rid, ...cls });
|
||||
@@ -1173,7 +1199,14 @@ const registerRREvents = ({ socket, redisHelpers }) => {
|
||||
);
|
||||
|
||||
try {
|
||||
socket.emit("export-failed", { vendor: "rr", jobId: rid, error: error.message });
|
||||
socket.emit(
|
||||
"export-failed",
|
||||
withRRXmlSocketPayload(error, {
|
||||
vendor: "rr",
|
||||
jobId: rid,
|
||||
error: error.message
|
||||
})
|
||||
);
|
||||
} catch {
|
||||
//
|
||||
}
|
||||
@@ -1538,9 +1571,11 @@ const registerRREvents = ({ socket, redisHelpers }) => {
|
||||
});
|
||||
|
||||
socket.emit("export-failed", {
|
||||
vendor: "rr",
|
||||
jobId: rid,
|
||||
error: cls?.friendlyMessage || result?.error || "RR export failed",
|
||||
...withRRXmlSocketPayload(result, {
|
||||
vendor: "rr",
|
||||
jobId: rid,
|
||||
error: cls?.friendlyMessage || result?.error || "RR export failed"
|
||||
}),
|
||||
...cls
|
||||
});
|
||||
|
||||
@@ -1591,9 +1626,11 @@ const registerRREvents = ({ socket, redisHelpers }) => {
|
||||
|
||||
try {
|
||||
socket.emit("export-failed", {
|
||||
vendor: "rr",
|
||||
jobId: rid,
|
||||
error: error.message,
|
||||
...withRRXmlSocketPayload(error, {
|
||||
vendor: "rr",
|
||||
jobId: rid,
|
||||
error: error.message
|
||||
}),
|
||||
...cls
|
||||
});
|
||||
socket.emit("rr-user-notice", { jobId: rid, ...cls });
|
||||
@@ -1725,9 +1762,11 @@ const registerRREvents = ({ socket, redisHelpers }) => {
|
||||
});
|
||||
|
||||
socket.emit("export-failed", {
|
||||
vendor: "rr",
|
||||
jobId: rid,
|
||||
error: cls?.friendlyMessage || finalizeResult?.error || "RR finalize failed",
|
||||
...withRRXmlSocketPayload(finalizeResult, {
|
||||
vendor: "rr",
|
||||
jobId: rid,
|
||||
error: cls?.friendlyMessage || finalizeResult?.error || "RR finalize failed"
|
||||
}),
|
||||
...cls
|
||||
});
|
||||
ack?.({ ok: false, error: cls.friendlyMessage || "RR finalize failed", classification: cls });
|
||||
@@ -1770,7 +1809,17 @@ const registerRREvents = ({ socket, redisHelpers }) => {
|
||||
});
|
||||
|
||||
try {
|
||||
socket.emit("export-failed", { vendor: "rr", jobId: rid, error: error.message, ...cls });
|
||||
socket.emit(
|
||||
"export-failed",
|
||||
{
|
||||
...withRRXmlSocketPayload(error, {
|
||||
vendor: "rr",
|
||||
jobId: rid,
|
||||
error: error.message
|
||||
}),
|
||||
...cls
|
||||
}
|
||||
);
|
||||
} catch {
|
||||
//
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user