IO-3498 QBO Changes due to oauthClient response change

Signed-off-by: Allan Carr <allan@imexsystems.ca>
This commit is contained in:
Allan Carr
2026-01-15 16:10:42 -08:00
parent 997aebddb0
commit f40af8cba4
3 changed files with 87 additions and 97 deletions

View File

@@ -174,7 +174,6 @@ exports.default = async (req, res) => {
res.status(200).json(ret);
} catch (error) {
//console.log(error);
logger.log("qbo-payment-create-error", "ERROR", req.user.email, null, {
error: error.message,
stack: error.stack
@@ -253,16 +252,20 @@ async function InsertPayment(oauthClient, qbo_realmId, req, payment, parentRef)
method: "POST",
name: "InsertPayment",
paymentid: payment.id,
status: result.response?.status,
status: result.status,
bodyshopid: payment.job.shopid,
email: req.user.email
});
setNewRefreshToken(req.user.email, result);
return result && result.Bill;
if (result.status >= 400) {
throw new Error(JSON.stringify(result.json.Fault));
}
if (result.status === 200) return result?.json;
} catch (error) {
logger.log("qbo-payables-error", "DEBUG", req.user.email, payment.id, {
error: error && error.message,
method: "InsertPayment"
method: "InsertPayment",
validationError: error.message,
stack: error.stack
});
throw error;
}
@@ -273,9 +276,7 @@ async function QueryMetaData(oauthClient, qbo_realmId, req, ro_number, isCreditM
url: urlBuilder(
qbo_realmId,
"query",
`select *
From Invoice
where DocNumber like '${ro_number}%'`
`select * From Invoice where DocNumber like '${ro_number}%'`
),
method: "POST",
headers: {
@@ -286,8 +287,7 @@ async function QueryMetaData(oauthClient, qbo_realmId, req, ro_number, isCreditM
platform: "QBO",
method: "POST",
name: "QueryInvoice",
status: invoice.response?.status,
status: invoice.status,
bodyshopid,
email: req.user.email
});
@@ -295,8 +295,7 @@ async function QueryMetaData(oauthClient, qbo_realmId, req, ro_number, isCreditM
url: urlBuilder(
qbo_realmId,
"query",
`select *
From PaymentMethod`
`select * From PaymentMethod`
),
method: "POST",
headers: {
@@ -307,7 +306,7 @@ async function QueryMetaData(oauthClient, qbo_realmId, req, ro_number, isCreditM
platform: "QBO",
method: "POST",
name: "QueryPaymentMethod",
status: paymentMethods.response?.status,
status: paymentMethods.status,
bodyshopid,
email: req.user.email
});
@@ -351,8 +350,7 @@ async function QueryMetaData(oauthClient, qbo_realmId, req, ro_number, isCreditM
url: urlBuilder(
qbo_realmId,
"query",
`select *
From TaxCode`
`select * From TaxCode`
),
method: "POST",
headers: {
@@ -363,8 +361,7 @@ async function QueryMetaData(oauthClient, qbo_realmId, req, ro_number, isCreditM
platform: "QBO",
method: "POST",
name: "QueryTaxCode",
status: taxCodes.response?.status,
status: taxCodes.status,
bodyshopid,
email: req.user.email
});
@@ -372,8 +369,7 @@ async function QueryMetaData(oauthClient, qbo_realmId, req, ro_number, isCreditM
url: urlBuilder(
qbo_realmId,
"query",
`select *
From Item`
`select * From Item`
),
method: "POST",
headers: {
@@ -384,7 +380,7 @@ async function QueryMetaData(oauthClient, qbo_realmId, req, ro_number, isCreditM
platform: "QBO",
method: "POST",
name: "QueryItems",
status: items.response?.status,
status: items.status,
bodyshopid,
email: req.user.email
});
@@ -494,18 +490,21 @@ async function InsertCreditMemo(oauthClient, qbo_realmId, req, payment, parentRe
method: "POST",
name: "InsertCreditMemo",
paymentid: payment.id,
status: result.response?.status,
status: result.status,
bodyshopid: req.user.bodyshopid,
email: req.user.email
});
setNewRefreshToken(req.user.email, result);
return result && result.Bill;
if (result.status >= 400) {
throw new Error(JSON.stringify(result.json.Fault));
}
if (result.status === 200) return result?.json;
} catch (error) {
logger.log("qbo-payables-error", "DEBUG", req.user.email, payment.id, {
error: error,
validationError: JSON.stringify(error?.response?.data),
method: "InsertCreditMemo",
validationError: error.message,
accountmeta: JSON.stringify({ items, taxCodes }),
method: "InsertCreditMemo"
stack: error.stack
});
throw error;
}