Buchungskalender: Aufbewahrung – Sperre wie Ablauf, Restpunkte

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
knsoandClaude Opus 5.5 committed 2026-10-07 14:43:44 +00:00
1 parent c019d3c3b0
commit 827ee54875
5 files changed
+102 -17

No files matched your search

+7 -5
View File
@@ -22,7 +22,7 @@ async function einzeln(name, arbeit) {
try {
return await arbeit()
} catch (err) {
console.error(`[unterkunft-jobs] ${name} fehlgeschlagen: ${err?.name}: ${String(err?.message).slice(0, 200)}`)
console.error(`[unterkunft-jobs] ${name} fehlgeschlagen: ${err?.name} ${err?.status ?? ''}`)
return { fehler: true }
} finally {
laufend.delete(name)
@@ -55,7 +55,7 @@ async function gibtDaten() {
/**
* Tagesjob: Aufbewahrung (ipHash, Verfall von `neu`, Anonymisierung, Rechnungen nach 8 Jahren) und Loeschung abgeschalteter Funktionen
* (90 Tage). Gemeinsamer Deckel config.unterkunft.aufbewahrungDeckel (500) je Lauf. Bei UNTERKUNFT_ENABLED=off nur, wenn es noch
* (90 Tage). Gemeinsamer Deckel config.unterkunft.aufbewahrungDeckel (500) je Lauf (die Loeschung bekommt, was die Aufbewahrung uebrig laesst). Bei UNTERKUNFT_ENABLED=off nur, wenn es noch
* Buchungsdaten gibt (die Fristen gelten auch dann). Ein Teil, der scheitert, stoppt den anderen nicht.
*/
export async function taeglicherJob(now = new Date()) {
@@ -64,15 +64,17 @@ export async function taeglicherJob(now = new Date()) {
const deckel = config.unterkunft.aufbewahrungDeckel ?? 500
let anon = { anfragen: 0, gaeste: 0, fehler: 1 }
let weg = { funktionen: 0, dokumente: 0, fehler: 1, gedeckelt: false }
let rest = deckel
try {
anon = await anonymisiere(now, { deckel })
rest = Math.max(0, deckel - (anon.verbraucht ?? 0))
} catch (err) {
console.error(`[unterkunft-jobs] taeglicherJob: Aufbewahrung fehlgeschlagen: ${err?.name}: ${String(err?.message).slice(0, 200)}`)
console.error(`[unterkunft-jobs] taeglicherJob: Aufbewahrung fehlgeschlagen: ${err?.name} ${err?.status ?? ''}`)
}
try {
weg = await loescheAbgeschaltete(now, { deckel })
weg = await loescheAbgeschaltete(now, { deckel: rest })
} catch (err) {
console.error(`[unterkunft-jobs] taeglicherJob: Löschung abgeschalteter Funktionen fehlgeschlagen: ${err?.name}: ${String(err?.message).slice(0, 200)}`)
console.error(`[unterkunft-jobs] taeglicherJob: Löschung abgeschalteter Funktionen fehlgeschlagen: ${err?.name} ${err?.status ?? ''}`)
}
return { aufbewahrung: anon, abgeschaltet: weg }
})