db cleanups and logging for od
This commit is contained in:
@@ -4,6 +4,7 @@ import { formatInTimeZone } from "date-fns-tz";
|
||||
import { sql } from "drizzle-orm";
|
||||
import { db } from "../db/db.controller.js";
|
||||
import { opendockApt } from "../db/schema/opendock.schema.js";
|
||||
import { createLogger } from "../logger/logger.controller.js";
|
||||
import { prodQuery } from "../prodSql/prodSqlQuery.controller.js";
|
||||
import {
|
||||
type SqlQuery,
|
||||
@@ -23,8 +24,6 @@ let lastCheck = formatInTimeZone(
|
||||
//const queue: unknown[] = [];
|
||||
//const isProcessing: boolean = false;
|
||||
|
||||
let odToken: string | null = null;
|
||||
|
||||
type Releases = {
|
||||
ReleaseNumber: number;
|
||||
DeliveryState: number;
|
||||
@@ -36,10 +35,30 @@ type Releases = {
|
||||
LineItemArticleWeight: number;
|
||||
CustomerReleaseNumber: string;
|
||||
};
|
||||
|
||||
type ODToken = {
|
||||
odToken: string | null;
|
||||
tokenDate: Date | null;
|
||||
};
|
||||
|
||||
let odToken: ODToken = {
|
||||
odToken: null,
|
||||
tokenDate: new Date(),
|
||||
};
|
||||
const TWENTY_FOUR_HOURS = 24 * 60 * 60 * 1000;
|
||||
const log = createLogger({ module: "opendock", subModule: "releaseMonitor" });
|
||||
|
||||
const postRelease = async (release: Releases) => {
|
||||
if (!odToken) {
|
||||
console.info("Getting token");
|
||||
// TODO: add a time stamp on the token so it gets refreshed every 24hours
|
||||
if (!odToken.odToken) {
|
||||
log.info("Getting Auth Token");
|
||||
await getToken();
|
||||
}
|
||||
|
||||
if (
|
||||
new Date(odToken.tokenDate || Date.now()).getTime() <
|
||||
Date.now() - TWENTY_FOUR_HOURS
|
||||
) {
|
||||
log.info("Refreshing Auth Token");
|
||||
await getToken();
|
||||
}
|
||||
/**
|
||||
@@ -145,7 +164,7 @@ const postRelease = async (release: Releases) => {
|
||||
);
|
||||
|
||||
if (aptError) {
|
||||
console.error("Error getting apt data: ", aptError);
|
||||
log.error({ error: aptError }, "Error getting apt data");
|
||||
// TODO: send an error email on this one as it will cause issues
|
||||
return;
|
||||
}
|
||||
@@ -163,13 +182,13 @@ const postRelease = async (release: Releases) => {
|
||||
{
|
||||
headers: {
|
||||
"content-type": "application/json; charset=utf-8",
|
||||
Authorization: `Bearer ${odToken}`,
|
||||
Authorization: `Bearer ${odToken.odToken}`,
|
||||
},
|
||||
},
|
||||
);
|
||||
|
||||
if (response.status === 400) {
|
||||
console.error(response.data.data.message);
|
||||
log.error({}, response.data.data.message);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -188,13 +207,13 @@ const postRelease = async (release: Releases) => {
|
||||
})
|
||||
.returning();
|
||||
|
||||
console.info(`${release.ReleaseNumber} was updated`);
|
||||
log.info(`${release.ReleaseNumber} was updated`);
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
log.error(e);
|
||||
}
|
||||
} catch (e: any) {
|
||||
//console.info(newDockApt);
|
||||
console.error(e.response.data);
|
||||
log.error(e.response.data);
|
||||
|
||||
return;
|
||||
}
|
||||
@@ -215,7 +234,7 @@ const postRelease = async (release: Releases) => {
|
||||
// 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) {
|
||||
console.error(response.data.data.message);
|
||||
log.error(response.data.data.message);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -236,12 +255,12 @@ const postRelease = async (release: Releases) => {
|
||||
})
|
||||
.returning();
|
||||
|
||||
console.info(`${release.ReleaseNumber} was created`);
|
||||
log.info(`${release.ReleaseNumber} was created`);
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
log.error(e);
|
||||
}
|
||||
} catch (e: any) {
|
||||
console.error(e.response.data);
|
||||
log.error(e.response.data);
|
||||
|
||||
return;
|
||||
}
|
||||
@@ -293,7 +312,8 @@ export const monitorReleaseChanges = async () => {
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
console.error("Monitor error:", e);
|
||||
console.error(e);
|
||||
log.error({ error: e }, "Monitor error");
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -340,14 +360,14 @@ const getToken = async () => {
|
||||
);
|
||||
|
||||
if (status === 400) {
|
||||
console.error(data.message);
|
||||
log.error(data.message);
|
||||
return;
|
||||
}
|
||||
|
||||
odToken = data.access_token;
|
||||
console.info("Token added");
|
||||
odToken = { odToken: data.access_token, tokenDate: new Date() };
|
||||
log.info("Token added");
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
log.error(e);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user