IO-3498 Remove setNewRefreshToken and replace forEach with map

Signed-off-by: Allan Carr <allan@imexsystems.ca>
This commit is contained in:
Allan Carr
2026-01-16 17:07:27 -08:00
parent 6a521c0f46
commit 334077a39d
4 changed files with 32 additions and 69 deletions

View File

@@ -4,7 +4,7 @@ const StandardizeName = require("./qbo").StandardizeName;
const logger = require("../../utils/logger");
const apiGqlClient = require("../../graphql-client/graphql-client").client;
const queries = require("../../graphql-client/queries");
const { refresh: refreshOauthToken, setNewRefreshToken } = require("./qbo-callback");
const { refresh: refreshOauthToken } = require("./qbo-callback");
const OAuthClient = require("intuit-oauth");
const CreateInvoiceLines = require("../qb-receivables-lines").default;
const moment = require("moment-timezone");
@@ -233,7 +233,7 @@ async function QueryInsuranceCo(oauthClient, qbo_realmId, req, job) {
jobid: job.id,
email: req.user.email
});
setNewRefreshToken(req.user.email, result);
return result.json?.QueryResponse?.Customer?.[0];
} catch (error) {
logger.log("qbo-receivables-error", "DEBUG", req.user.email, job.id, {
@@ -283,7 +283,7 @@ async function InsertInsuranceCo(oauthClient, qbo_realmId, req, job, bodyshop) {
jobid: job.id,
email: req.user.email
});
setNewRefreshToken(req.user.email, result);
return result.json?.Customer;
} catch (error) {
logger.log("qbo-receivables-error", "DEBUG", req.user.email, job.id, {
@@ -318,7 +318,7 @@ async function QueryOwner(oauthClient, qbo_realmId, req, job, parentTierRef) {
jobid: job.id,
email: req.user.email
});
setNewRefreshToken(req.user.email, result);
return result.json?.QueryResponse?.Customer?.find((x) => x.ParentRef?.value === parentTierRef?.Id);
}
@@ -364,7 +364,7 @@ async function InsertOwner(oauthClient, qbo_realmId, req, job, isThreeTier, pare
jobid: job.id,
email: req.user.email
});
setNewRefreshToken(req.user.email, result);
return result.json?.Customer;
} catch (error) {
logger.log("qbo-receivables-error", "DEBUG", req.user.email, job.id, {
@@ -398,7 +398,7 @@ async function QueryJob(oauthClient, qbo_realmId, req, job, parentTierRef) {
jobid: job.id,
email: req.user.email
});
setNewRefreshToken(req.user.email, result);
const customers = result.json?.QueryResponse?.Customer;
return customers && (parentTierRef ? customers.find((x) => x.ParentRef.value === parentTierRef.Id) : customers[0]);
}
@@ -440,7 +440,7 @@ async function InsertJob(oauthClient, qbo_realmId, req, job, parentTierRef) {
jobid: job.id,
email: req.user.email
});
setNewRefreshToken(req.user.email, result);
if (result.status >= 400) {
throw new Error(JSON.stringify(result.json.Fault));
}
@@ -474,7 +474,7 @@ async function QueryMetaData(oauthClient, qbo_realmId, req, bodyshopid, jobid) {
jobid: jobid,
email: req.user.email
});
setNewRefreshToken(req.user.email, items);
const taxCodes = await oauthClient.makeApiCall({
url: urlBuilder(qbo_realmId, "query", `select * From TaxCode where active = true`),
method: "POST",
@@ -508,20 +508,11 @@ async function QueryMetaData(oauthClient, qbo_realmId, req, bodyshopid, jobid) {
email: req.user.email
});
const taxCodeMapping = {};
taxCodes.json?.QueryResponse?.TaxCode?.forEach((t) => {
taxCodeMapping[t.Name] = t.Id;
});
const taxCodeMapping = Object.fromEntries((taxCodes.json?.QueryResponse?.TaxCode || []).map((t) => [t.Name, t.Id]));
const itemMapping = {};
items.json?.QueryResponse?.Item?.forEach((t) => {
itemMapping[t.Name] = t.Id;
});
const itemMapping = Object.fromEntries((items.json?.QueryResponse?.Item || []).map((item) => [item.Name, item.Id]));
const classMapping = {};
classes.json?.QueryResponse?.Class?.forEach((t) => {
classMapping[t.Name] = t.Id;
});
const classMapping = Object.fromEntries((classes.json?.QueryResponse?.Class || []).map((c) => [c.Name, c.Id]));
return {
items: itemMapping,
@@ -630,7 +621,7 @@ async function InsertInvoice(oauthClient, qbo_realmId, req, job, bodyshop, paren
jobid: job.id,
email: req.user.email
});
setNewRefreshToken(req.user.email, result);
if (result.status >= 400) {
throw new Error(JSON.stringify(result.json.Fault));
}
@@ -758,7 +749,7 @@ async function InsertInvoiceMultiPayerInvoice(
jobid: job.id,
email: req.user.email
});
setNewRefreshToken(req.user.email, result);
if (result.status >= 400) {
throw new Error(JSON.stringify(result.json.Fault));
}