23 lines
862 B
JavaScript
23 lines
862 B
JavaScript
import { Router } from 'express'
|
|
import { getSessionCustomerId, requireSession } from '../middleware/session.js'
|
|
import { sammleFristen } from '../services/fristen.js'
|
|
import { einschaltenDeps } from '../services/zeiten/einschalten.js'
|
|
|
|
/**
|
|
* Gesammelte Widerrufsfristen des angemeldeten Kunden (V6). Mount: /api/fristen. Nur lesend, daher auch in der
|
|
* Kundenansicht erlaubt (der Wächter sperrt nur Schreibzugriffe).
|
|
*/
|
|
const router = Router()
|
|
|
|
router.get('/', requireSession, async (req, res) => {
|
|
res.set('Cache-Control', 'no-store')
|
|
try {
|
|
return res.json(await sammleFristen(getSessionCustomerId(req), { now: einschaltenDeps.jetzt() }))
|
|
} catch (err) {
|
|
console.error('[fristen] Laden fehlgeschlagen:', err.message)
|
|
return res.status(500).json({ error: 'Die Fristen konnten gerade nicht geladen werden.' })
|
|
}
|
|
})
|
|
|
|
export default router
|