import { NextResponse } from "next/server";
import { eq } from "drizzle-orm";
import { cookies } from "next/headers";
import { db } from "@/db";
import { authSessions } from "@/db/schema";
import { ADMIN_CSRF_COOKIE, ADMIN_SESSION_COOKIE } from "@/lib/admin-auth";
import { createHash } from "node:crypto";
import { recordAudit } from "@/lib/audit";

export async function POST() {
  const jar = await cookies();
  const token = jar.get(ADMIN_SESSION_COOKIE)?.value;
  if (token && db) await db.delete(authSessions).where(eq(authSessions.tokenHash, createHash("sha256").update(token).digest("hex")));
  const response = NextResponse.json({ ok: true });
  response.cookies.delete(ADMIN_SESSION_COOKIE);
  response.cookies.delete(ADMIN_CSRF_COOKIE);
  await recordAudit("admin_logout");
  return response;
}
