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 { printerData } from "../../../../../database/schema/printers.js";
|
||||
import { tryCatch } from "../../../../globalUtils/tryCatch.js";
|
||||
@@ -8,6 +8,7 @@ import { settings } from "../../../../../database/schema/settings.js";
|
||||
import { lstAuth } from "../../../../index.js";
|
||||
import axios from "axios";
|
||||
import { prodlabels } from "../../../../../database/schema/prodLabels.js";
|
||||
import { addDays } from "date-fns";
|
||||
|
||||
export const createLabel = async (data: any, userPrinted: any) => {
|
||||
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
|
||||
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 AutostartPrinterCycle from "./routes/printers/autoLabelerStart.js";
|
||||
import AutostopPrinterCycle from "./routes/printers/autoLabelerStop.js";
|
||||
import { deleteLabels } from "../../globalUtils/dbCleanUp/labelCleanUp.js";
|
||||
|
||||
const app = new OpenAPIHono();
|
||||
|
||||
@@ -85,4 +86,9 @@ setTimeout(async () => {
|
||||
}
|
||||
}, 10 * 1000);
|
||||
|
||||
// labelcleanup
|
||||
deleteLabels();
|
||||
setInterval(() => {
|
||||
deleteLabels();
|
||||
}, 60 * 60 * 24 * 1000);
|
||||
export default app;
|
||||
|
||||
Reference in New Issue
Block a user