feat(db cleanup): added a cleanup for labels this checks daily
This commit is contained in:
23
server/globalUtils/dbCleanUp/labelCleanUp.ts
Normal file
23
server/globalUtils/dbCleanUp/labelCleanUp.ts
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
import { lt } from "drizzle-orm";
|
||||||
|
import { db } from "../../../database/dbclient.js";
|
||||||
|
import { prodlabels } from "../../../database/schema/prodLabels.js";
|
||||||
|
import { addDays } from "date-fns";
|
||||||
|
import { createLog } from "../../services/logger/logger.js";
|
||||||
|
|
||||||
|
export const deleteLabels = async () => {
|
||||||
|
/**
|
||||||
|
* Deletes labels older than 90 days from lst... all label data can be found in alpla prod.
|
||||||
|
*/
|
||||||
|
try {
|
||||||
|
await db
|
||||||
|
.delete(prodlabels)
|
||||||
|
.where(lt(prodlabels.upd_date, addDays(new Date(Date.now()), -90)));
|
||||||
|
} catch (error) {
|
||||||
|
createLog(
|
||||||
|
"error",
|
||||||
|
"labeling",
|
||||||
|
"ocp",
|
||||||
|
`Error deleting labels older than 90 days`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
};
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
import { eq, gte, sql } from "drizzle-orm";
|
import { eq, gte, lt, sql } from "drizzle-orm";
|
||||||
import { db } from "../../../../../database/dbclient.js";
|
import { db } from "../../../../../database/dbclient.js";
|
||||||
import { printerData } from "../../../../../database/schema/printers.js";
|
import { printerData } from "../../../../../database/schema/printers.js";
|
||||||
import { tryCatch } from "../../../../globalUtils/tryCatch.js";
|
import { tryCatch } from "../../../../globalUtils/tryCatch.js";
|
||||||
@@ -8,6 +8,7 @@ import { settings } from "../../../../../database/schema/settings.js";
|
|||||||
import { lstAuth } from "../../../../index.js";
|
import { lstAuth } from "../../../../index.js";
|
||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
import { prodlabels } from "../../../../../database/schema/prodLabels.js";
|
import { prodlabels } from "../../../../../database/schema/prodLabels.js";
|
||||||
|
import { addDays } from "date-fns";
|
||||||
|
|
||||||
export const createLabel = async (data: any, userPrinted: any) => {
|
export const createLabel = async (data: any, userPrinted: any) => {
|
||||||
createLog("info", "labeling", "ocp", `Label being created`);
|
createLog("info", "labeling", "ocp", `Label being created`);
|
||||||
@@ -147,22 +148,3 @@ export const createLabel = async (data: any, userPrinted: any) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// run the label delete process we want to delate them older than 90 days right now
|
// run the label delete process we want to delate them older than 90 days right now
|
||||||
const deleteLabels = async () => {
|
|
||||||
/**
|
|
||||||
* Deletes labels older than 90 days from lst... all label data can be found in alpla prod.
|
|
||||||
*/
|
|
||||||
try {
|
|
||||||
await db
|
|
||||||
.delete(prodlabels)
|
|
||||||
.where(
|
|
||||||
gte(prodlabels.upd_date, sql.raw(`NOW() - INTERVAL '90 days'`))
|
|
||||||
);
|
|
||||||
} catch (error) {
|
|
||||||
createLog(
|
|
||||||
"error",
|
|
||||||
"labeling",
|
|
||||||
"ocp",
|
|
||||||
`Error deleting labels older than 90 days`
|
|
||||||
);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import startPrinterCycle from "./routes/printers/startCycle.js";
|
|||||||
import { printerCycleAutoLabelers } from "./controller/printers/printerCycleAutoLabelers.js";
|
import { printerCycleAutoLabelers } from "./controller/printers/printerCycleAutoLabelers.js";
|
||||||
import AutostartPrinterCycle from "./routes/printers/autoLabelerStart.js";
|
import AutostartPrinterCycle from "./routes/printers/autoLabelerStart.js";
|
||||||
import AutostopPrinterCycle from "./routes/printers/autoLabelerStop.js";
|
import AutostopPrinterCycle from "./routes/printers/autoLabelerStop.js";
|
||||||
|
import { deleteLabels } from "../../globalUtils/dbCleanUp/labelCleanUp.js";
|
||||||
|
|
||||||
const app = new OpenAPIHono();
|
const app = new OpenAPIHono();
|
||||||
|
|
||||||
@@ -85,4 +86,9 @@ setTimeout(async () => {
|
|||||||
}
|
}
|
||||||
}, 10 * 1000);
|
}, 10 * 1000);
|
||||||
|
|
||||||
|
// labelcleanup
|
||||||
|
deleteLabels();
|
||||||
|
setInterval(() => {
|
||||||
|
deleteLabels();
|
||||||
|
}, 60 * 60 * 24 * 1000);
|
||||||
export default app;
|
export default app;
|
||||||
|
|||||||
Reference in New Issue
Block a user