import { NextRequest, NextResponse } from "next/server"; import { backupService } from "@/services/backup.service"; import { requireAuth } from "@/lib/auth-utils"; export async function GET() { const authError = await requireAuth(); if (authError) return authError; try { const backups = await backupService.getAllBackups(); return NextResponse.json({ success: true, data: backups }); } catch (error) { console.error("Error fetching backups:", error); return NextResponse.json( { success: false, error: "Failed to fetch backups" }, { status: 500 }, ); } } export async function POST(request: NextRequest) { const authError = await requireAuth(); if (authError) return authError; try { const body = await request.json().catch(() => ({})); const force = body.force === true; // Only allow force for manual backups const backup = await backupService.createBackup(force); return NextResponse.json({ success: true, data: backup }); } catch (error) { console.error("Error creating backup:", error); return NextResponse.json( { success: false, error: error instanceof Error ? error.message : "Failed to create backup", }, { status: 500 }, ); } }