import { Router } from 'express'; import { getOverview, getPageviewsByDay, getTopUsers, getTopRecipes, getRecentActivity, getEvents } from '../analytics-db.js'; import { getUserById } from '../db.js'; const router = Router(); router.get('/overview', (req, res) => { res.json(getOverview()); }); router.get('/pageviews', (req, res) => { const { from, to } = req.query; res.json(getPageviewsByDay(from, to)); }); router.get('/users', (req, res) => { const topUsers = getTopUsers(20); const enriched = topUsers.map(u => { const user = getUserById(u.user_id); return { ...u, username: user ? user.username : `User #${u.user_id}` }; }); res.json(enriched); }); router.get('/recipes', (req, res) => { res.json(getTopRecipes(20)); }); router.get('/activity', (req, res) => { const { user_id, limit } = req.query; const events = getEvents({ user_id, limit: limit ? Number(limit) : 50 }); const enriched = events.map(e => { const user = e.user_id ? getUserById(e.user_id) : null; return { ...e, username: user ? user.username : null }; }); res.json(enriched); }); export default router;