import { NextResponse } from 'next/server'; import db from '@/lib/db'; export const dynamic = 'force-dynamic'; type Params = { params: Promise<{ id: string }> }; export async function GET(_req: Request, { params }: Params) { const { id } = await params; const counter = db.prepare('SELECT * FROM counters WHERE id = ?').get(Number(id)); if (!counter) return NextResponse.json({ error: 'Not found' }, { status: 404 }); const cutoff = Date.now() - 365 * 24 * 60 * 60 * 1000; const dailyActivity = db.prepare(` SELECT date(created_at / 1000, 'unixepoch', 'localtime') AS date, SUM(delta) AS value FROM events WHERE counter_id = ? AND created_at >= ? GROUP BY date HAVING SUM(delta) > 0 ORDER BY date ASC `).all(Number(id), cutoff); const allTimeTotal = (db.prepare( 'SELECT COALESCE(SUM(delta), 0) AS total FROM events WHERE counter_id = ?' ).get(Number(id)) as { total: number }).total; return NextResponse.json({ counter, dailyActivity, allTimeTotal }); }