30 lines
920 B
JavaScript
30 lines
920 B
JavaScript
const { buildRRRepairOrderPayload } = require("./rr-job-helpers");
|
|
const { buildClientAndOpts } = require("./rr-lookup");
|
|
|
|
async function exportJobToRR(args) {
|
|
const { bodyshop, job, selectedCustomer, advisorNo, existing } = args;
|
|
|
|
// Build client + opts (opts carries routing)
|
|
const { client, opts } = buildClientAndOpts(bodyshop);
|
|
|
|
const payload = buildRRRepairOrderPayload({ job, selectedCustomer, advisorNo });
|
|
|
|
let rrRes;
|
|
if (existing?.dmsRepairOrderId) {
|
|
rrRes = await client.updateRepairOrder({ ...payload, dmsRepairOrderId: existing.dmsRepairOrderId }, opts);
|
|
} else {
|
|
rrRes = await client.createRepairOrder(payload, opts);
|
|
}
|
|
|
|
return {
|
|
success: rrRes?.success === true,
|
|
data: rrRes?.data || null,
|
|
roStatus: rrRes?.data?.roStatus || null,
|
|
statusBlocks: rrRes?.statusBlocks || [],
|
|
xml: rrRes?.xml,
|
|
parsed: rrRes?.parsed
|
|
};
|
|
}
|
|
|
|
module.exports = { exportJobToRR };
|