fix(andreknie.de): harden personal data lifecycle

This commit is contained in:
2026-07-28 11:13:27 +02:00
parent 772a63c622
commit b31da6175a
11 changed files with 276 additions and 124 deletions
@@ -38,15 +38,22 @@ router.post('/', resourceLimiter, antiSpam, async (req, res) => {
}
const lead = { name, email, message, timestamp: new Date().toISOString() }
await leadsMutex.runExclusive(async () => {
const leads = loadLeads()
leads.push(lead)
saveLeads(leads)
})
try {
const result = await sendSpeakerCv(email, lead, PDF_PATH)
if (result.pdfMissing) {
return res.status(502).json({ error: 'Der Speaker CV ist derzeit nicht verfügbar.' })
}
await sendSpeakerCv(email, lead, PDF_PATH)
await leadsMutex.runExclusive(async () => {
const leads = loadLeads()
leads.push(lead)
saveLeads(leads)
})
res.status(201).json({ ok: true, message: 'Danke! Der Speaker CV ist auf dem Weg in dein Postfach.' })
res.status(201).json({ ok: true, message: 'Danke! Der Speaker CV ist auf dem Weg in dein Postfach.' })
} catch {
res.status(503).json({ error: 'Der Versand ist derzeit nicht verfügbar.' })
}
})
export default router