Vertragsverwaltung_Plusfit24/routes/widerruf.js
2026-02-10 15:29:29 +00:00

61 lines
1.3 KiB
JavaScript

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;