import { NextRequest, NextResponse } from "next/server";
import { runDatabaseBackup } from "@/lib/backup";

// Täglicher Systemcrontab-Aufruf (analog zu den anderen api/cron-Routen) —
// dumpt alle Collections nach /var/backups/rakku-v2-db und setzt
// Settings.lastBackupAt, damit die Einstellungsseite warnen kann, falls die
// Sicherung mal ausbleibt.
export async function GET(req: NextRequest) {
  const secret = req.nextUrl.searchParams.get("secret");
  if (!process.env.CRON_SECRET || secret !== process.env.CRON_SECRET) {
    return new NextResponse("Unauthorized", { status: 401 });
  }

  try {
    const result = await runDatabaseBackup();
    return NextResponse.json({ ok: true, ...result });
  } catch (err) {
    console.error("Datenbank-Backup fehlgeschlagen:", err);
    return NextResponse.json({ ok: false, error: err instanceof Error ? err.message : "Unbekannter Fehler" }, { status: 500 });
  }
}
