import { NextRequest, NextResponse } from "next/server";
import { OPS_COOKIE, OPS_SECRET } from "@/lib/ops-auth";

function adminEmail() {
  return (process.env.OT_ADMIN_EMAIL || "admin@ot.azulado.cloud").trim().toLowerCase();
}

function adminPassword() {
  return process.env.OT_ADMIN_PASSWORD || process.env.OT_OPS_PASSWORD || "";
}

export async function POST(req: NextRequest) {
  const body = (await req.json().catch(() => ({}))) as {
    email?: string;
    password?: string;
  };
  const email = String(body.email || "").trim().toLowerCase();
  const password = String(body.password || "");

  if (!email || !password || email !== adminEmail() || password !== adminPassword()) {
    return NextResponse.json(
      { ok: false, message: "Correo o clave de administrador incorrectos." },
      { status: 401 }
    );
  }

  const res = NextResponse.json({
    ok: true,
    email: adminEmail(),
    role: "admin",
  });
  res.cookies.set(OPS_COOKIE, OPS_SECRET, {
    httpOnly: true,
    sameSite: "lax",
    secure: true,
    path: "/",
    maxAge: 60 * 60 * 24 * 14,
  });
  return res;
}

export async function DELETE() {
  const res = NextResponse.json({ ok: true });
  res.cookies.set(OPS_COOKIE, "", {
    httpOnly: true,
    sameSite: "lax",
    secure: true,
    path: "/",
    maxAge: 0,
  });
  return res;
}
