From 3ad84dab71ceea081efc824e97d075c6f33807ad Mon Sep 17 00:00:00 2001 From: Blake Matthes Date: Tue, 9 Jun 2026 11:58:25 -0500 Subject: [PATCH] refactor(opendock): added in proper complete and ignore of picksheets --- .../opendock/openDockRreleaseMonitor.utils.ts | 58 ++++++++++++++++++- 1 file changed, 57 insertions(+), 1 deletion(-) diff --git a/backend/opendock/openDockRreleaseMonitor.utils.ts b/backend/opendock/openDockRreleaseMonitor.utils.ts index c358388..f01a769 100644 --- a/backend/opendock/openDockRreleaseMonitor.utils.ts +++ b/backend/opendock/openDockRreleaseMonitor.utils.ts @@ -391,7 +391,63 @@ const postRelease = async (release: Releases) => { return; } - } else { + // changing to only trigger the change if the state is 2 meaning it has a scan to it and already in progress of being loaded. + } else if (release.DeliveryState === 0 || release.DeliveryState === 2) { + try { + const response = await axios.patch( + `${process.env.OPENDOCK_URL}/appointment/${id}`, + newDockApt, + { + headers: { + "content-type": "application/json; charset=utf-8", + Authorization: `Bearer ${odToken.odToken}`, + }, + }, + ); + + if (response.status === 400) { + log.error({}, response.data.data.message); + return; + } + + // update the release in the db leaving as insert just incase something weird happened + try { + await db + .insert(opendockApt) + .values({ + release: release.ReleaseNumber, + openDockAptId: response.data.data.id, + appointment: response.data.data, + }) + .onConflictDoUpdate({ + target: opendockApt.release, + set: { + openDockAptId: response.data.data.id, + appointment: response.data.data, + upd_date: sql`NOW()`, + }, + }) + .returning(); + + log.info({}, `${release.ReleaseNumber} was updated`); + } catch (e) { + log.error( + { stack: e }, + `Error updating the release: ${release.ReleaseNumber}`, + ); + } + // biome-ignore lint/suspicious/noExplicitAny: to many possibilities + } catch (e: any) { + //console.info(newDockApt); + log.error( + { stack: e.response.data }, + `An error has occurred during patching of the release: ${release.ReleaseNumber}`, + ); + + return; + } + // if we are finished we need to set to completed + } else if (release.DeliveryState === 3 || release.DeliveryState === 4) { try { const response = await axios.patch( `${process.env.OPENDOCK_URL}/appointment/${id}`,