Updates
This commit is contained in:
32
backend/dist/routes/analytics.js
vendored
Normal file
32
backend/dist/routes/analytics.js
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
import { Router } from 'express';
|
||||
import { getOverview, getPageviewsByDay, getTopUsers, getTopRecipes, 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;
|
||||
Reference in New Issue
Block a user