// Protection des routes /atelier-novelia et /portail.
// Verifie uniquement la presence d'un cookie de session valide (cookie cache Better Auth)
// pour rester en Edge runtime sans hit DB. Le check du role admin est fait
// dans le layout serveur de /atelier-novelia (qui peut hitter la DB).
//
// Next 16 : ce fichier doit s'appeler `proxy.ts` (l'ancien `middleware.ts` est deprecie).

import { NextResponse, type NextRequest } from "next/server";
import { getSessionCookie } from "better-auth/cookies";

const PROTECTED_PREFIXES = ["/atelier-novelia", "/portail"];

export function proxy(request: NextRequest) {
  const { pathname } = request.nextUrl;

  if (!PROTECTED_PREFIXES.some((p) => pathname === p || pathname.startsWith(p + "/"))) {
    return NextResponse.next();
  }

  const sessionCookie = getSessionCookie(request);
  if (!sessionCookie) {
    const loginUrl = new URL("/connexion", request.url);
    loginUrl.searchParams.set("next", pathname);
    return NextResponse.redirect(loginUrl);
  }

  return NextResponse.next();
}

export const config = {
  matcher: ["/atelier-novelia/:path*", "/portail/:path*"],
};
