// Dashboard-Route const { hasRole } = require('../helpers/utils'); const { requireAuth } = require('../middleware/auth'); const { generateCheckinCheckoutQRPDF } = require('../services/pdf-service'); // Routes registrieren function registerDashboardRoutes(app) { // QR-Code-PDF (Check-in/Check-out) – nur für eingeloggte Nutzer mit Mitarbeiter-Rolle app.get('/api/dashboard/qr-pdf', requireAuth, (req, res) => { if (!hasRole(req, 'mitarbeiter')) { return res.status(403).send('Zugriff verweigert'); } generateCheckinCheckoutQRPDF(req, res); }); // Dashboard für Mitarbeiter app.get('/dashboard', requireAuth, (req, res) => { // Prüfe ob User Mitarbeiter-Rolle hat if (!hasRole(req, 'mitarbeiter')) { // Wenn User keine Mitarbeiter-Rolle hat, aber andere Rollen, redirecte entsprechend if (hasRole(req, 'admin')) { return res.redirect('/admin'); } if (hasRole(req, 'verwaltung')) { return res.redirect('/verwaltung'); } return res.status(403).send('Zugriff verweigert'); } res.render('dashboard', { user: { id: req.session.userId, firstname: req.session.firstname, lastname: req.session.lastname, username: req.session.username, roles: req.session.roles || [], currentRole: req.session.currentRole || 'mitarbeiter' } }); }); } module.exports = registerDashboardRoutes;