From cfc497c1f2254dc12a6e7bb15cfc0dce2a64c1e6 Mon Sep 17 00:00:00 2001 From: Blake Matthes Date: Tue, 9 Jun 2026 11:45:09 -0500 Subject: [PATCH] refactor(opendock): added in check for really using the article link --- .../opendock/openDockRreleaseMonitor.utils.ts | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/backend/opendock/openDockRreleaseMonitor.utils.ts b/backend/opendock/openDockRreleaseMonitor.utils.ts index 7c286b3..9242949 100644 --- a/backend/opendock/openDockRreleaseMonitor.utils.ts +++ b/backend/opendock/openDockRreleaseMonitor.utils.ts @@ -446,6 +446,61 @@ const postRelease = async (release: Releases) => { return; } } + } else if (opendDockArticleCheck?.loadType === "live") { + try { + const response = await axios.post( + `${process.env.OPENDOCK_URL}/appointment`, + newDockApt, + { + headers: { + "content-type": "application/json; charset=utf-8", + Authorization: `Bearer ${odToken.odToken}`, + }, + }, + ); + + // we need the id,release#,status from this response, store it in lst, check if we have a release so we can just update it. + // this will be utilized when we are listening for the changes to the apts. that way we can update the state to arrived. we will run our own checks on this guy during the incoming messages. + + if (response.status === 400) { + log.error({}, response.data.data.message); + return; + } + + // the response to make it simple we want response.data.id, response.data.relNumber, status will be defaulted to Scheduled if we created it here. + // TODO: add this release data to our db. but save it in json format and well parse it out. that way we future proof it and have everything in here vs just a few things + //console.info(response.data.data, "Was Created"); + 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 created`); + } catch (e) { + log.error({ stack: e }, "Error creating new release"); + } + // biome-ignore lint/suspicious/noExplicitAny: to many possibilities + } catch (e: any) { + log.error( + { stack: e?.response?.data }, + `Error posting new release to opendock, ${release.ReleaseNumber}`, + ); + + return; + } } else if ( (releaseLoadtypeCheck || opendDockArticleCheck?.loadType === "drop" ||