import { revalidatePath } from 'next/cache';
import { NextRequest, NextResponse } from 'next/server';

/**
 * POST /api/revalidate?secret=xxx
 *
 * Clears Next.js page render cache for all routes.
 * Equivalent to Shopware's "Clear cache" button.
 * Protected by ADMIN_SECRET env variable.
 */
export async function POST(request: NextRequest) {
  const secret = request.nextUrl.searchParams.get('secret');

  if (!process.env.ADMIN_SECRET || secret !== process.env.ADMIN_SECRET) {
    return NextResponse.json({ message: 'Invalid secret' }, { status: 401 });
  }

  // Revalidate all pages (layout-level wipes everything)
  revalidatePath('/', 'layout');

  return NextResponse.json({ revalidated: true, now: new Date().toISOString() });
}
