const express = require('express'); const Database = require('better-sqlite3'); const router = express.Router(); const db = new Database('plusfit.db'); /* ========================= GET /widerruf ========================= */ router.get('/', (req, res) => { res.render('widerruf'); }); /* ========================= POST /widerruf ========================= */ router.post('/', (req, res) => { const { vertragsnummer } = req.body; const user = db.prepare(` SELECT * FROM users WHERE vertragsnummer = ? `).get(vertragsnummer); if (!user) { return res.render('widerruf', { error: 'Vertrag nicht gefunden.' }); } if (user.status !== 'aktiv') { return res.render('widerruf', { error: 'Dieser Vertrag ist nicht widerrufbar.' }); } if (new Date() > new Date(user.widerruf_moeglich_bis)) { return res.render('widerruf', { error: 'Die Widerrufsfrist ist abgelaufen.' }); } db.prepare(` UPDATE users SET status = 'widerrufen', widerrufen_am = ?, widerrufen_von_ip = ? WHERE id = ? `).run( new Date().toISOString(), req.ip, user.id ); res.render('widerrufErfolg', { vertragsnummer }); }); module.exports = router;