feat: implement admin dashboard with password-protected event listing

This commit is contained in:
2026-01-06 16:15:47 +00:00
parent 4ab350105d
commit 3753ebb2a2
3 changed files with 168 additions and 0 deletions

View File

@@ -108,4 +108,22 @@ router.get('/events/:id/analytics', (req, res) => {
}
});
// Admin: Get All Events (password protected)
router.get('/admin/events', (req, res) => {
const password = req.headers['x-admin-password'];
const adminPassword = process.env.ADMIN_PASSWORD || '123456';
if (password !== adminPassword) {
return res.status(401).json({ error: 'Unauthorized' });
}
try {
const events = db.prepare('SELECT id, name, description, start_date, end_date, created_at FROM events ORDER BY created_at DESC').all();
res.json({ events });
} catch (err) {
console.error(err);
res.status(500).json({ error: 'Failed to retrieve events' });
}
});
module.exports = router;