import { NextResponse } from "next/server"; import { env } from "@/lib/env"; import { runHealthCheckTick } from "@/lib/plesk/health"; import { createSupabaseAdminClient } from "@/lib/supabase/admin"; export async function POST(req: Request) { const startedAt = Date.now(); try { const secret = req.headers.get("x-cron-secret"); if (!env.cronSharedSecret || !secret || secret !== env.cronSharedSecret) { return NextResponse.json({ error: "Unauthorized" }, { status: 401 }); } const supabase = createSupabaseAdminClient() as any; const summary = await runHealthCheckTick(supabase); return NextResponse.json({ ...summary, duration_ms: Date.now() - startedAt, }); } catch (error) { console.error("[health cron] failed", error); return NextResponse.json( { error: "Health check job failed", checked: 0, ok: 0, degraded: 0, failed: 0, duration_ms: Date.now() - startedAt, }, { status: 500 }, ); } }