ADD: added some quiality of life features

This commit is contained in:
hwinkel
2026-03-15 19:53:11 +01:00
parent f5b259cae2
commit 40a2764dd0
30 changed files with 1397 additions and 51 deletions
+35
View File
@@ -0,0 +1,35 @@
import cron from "node-cron";
import prisma from "@/lib/prisma.server";
const THIRTY_DAYS_MS = 30 * 24 * 60 * 60 * 1000;
async function purgeExpiredDeletedInvoices(): Promise<void> {
const cutoff = new Date(Date.now() - THIRTY_DAYS_MS);
const result = await prisma.invoice.deleteMany({
where: { status: "DELETED", deletedAt: { lte: cutoff } },
});
if (result.count > 0) {
console.log(
`[cleanup] ${result.count} Rechnung(en) endgültig gelöscht (vor ${cutoff.toISOString()})`
);
}
}
let scheduled = false;
export function startCleanupScheduler(): void {
if (scheduled) return;
scheduled = true;
purgeExpiredDeletedInvoices().catch((err) =>
console.error("[cleanup] Startup-Bereinigung fehlgeschlagen:", err)
);
cron.schedule("0 2 * * *", () => {
purgeExpiredDeletedInvoices().catch((err) =>
console.error("[cleanup] Geplante Bereinigung fehlgeschlagen:", err)
);
});
console.log("[cleanup] Scheduler aktiv — täglich 02:00 Uhr");
}