← back to Homesonspec
apps/web/src/app/api/pwa-event/route.ts
23 lines
import { NextRequest, NextResponse } from "next/server";
// First-party sink for PWA install-funnel events. Anonymous — no PII, just funnel counters.
// Logs a structured line captured by pm2's stdout, so the funnel is queryable with zero infra:
// pm2 logs homesonspec-web | grep pwa-event
export const runtime = "nodejs";
export const dynamic = "force-dynamic";
export async function POST(req: NextRequest) {
let evt: unknown = null;
try {
evt = await req.json();
} catch {
/* ignore malformed body */
}
const line = JSON.stringify({
...(evt && typeof evt === "object" ? evt : {}),
ua: req.headers.get("user-agent")?.slice(0, 80) ?? null,
});
console.log("[pwa-event]", line);
return NextResponse.json({ ok: true });
}