fix(andreknie.de): close data lifecycle review gaps

This commit is contained in:
2026-07-28 11:23:19 +02:00
parent b31da6175a
commit dfae463402
8 changed files with 127 additions and 32 deletions
@@ -5,7 +5,7 @@ import { fileURLToPath } from 'url'
import { Mutex } from 'async-mutex'
import { resourceLimiter } from '../middleware/rateLimiter.js'
import { antiSpam } from '../middleware/antiSpam.js'
import { sendSpeakerCv } from '../services/mailer.js'
import { sendSpeakerCv, MailerNotReadyError } from '../services/mailer.js'
const __dirname = dirname(fileURLToPath(import.meta.url))
const LEADS_FILE = join(__dirname, '..', 'data', 'speaker-cv-leads.json')
@@ -51,8 +51,8 @@ router.post('/', resourceLimiter, antiSpam, async (req, res) => {
})
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.' })
} catch (error) {
res.status(error instanceof MailerNotReadyError ? 503 : 502).json({ error: 'Der Versand ist derzeit nicht verfügbar.' })
}
})