import { cookies } from "next/headers";
import { NextResponse } from "next/server";
import { createClient as createSupabaseClient } from "@supabase/supabase-js";

export async function POST() {
  try {
    const cookieStore = await cookies();
    const token = cookieStore.get("ks_client_portal")?.value || "";

    if (token) {
      const url = process.env.NEXT_PUBLIC_SUPABASE_URL;
      const anon = process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY;
      if (url && anon) {
        const supabase = createSupabaseClient(url, anon);
        await supabase.rpc("client_portal_logout", {
          p_session_token: token,
        });
      }
    }

    const response = NextResponse.json({ ok: true });
    response.cookies.set({
      name: "ks_client_portal",
      value: "",
      path: "/",
      maxAge: 0,
      expires: new Date(0),
      httpOnly: true,
      secure: process.env.NODE_ENV === "production",
      sameSite: "lax",
    });
    return response;
  } catch {
    return NextResponse.json({ ok: true });
  }
}
