import { NextResponse } from "next/server";
import { getClientIp, requireUser } from "@/lib/auth";
import { createNewsletterOptIn, setNewsletterStatus } from "@/lib/newsletter";

export async function POST(request: Request) {
  const user = await requireUser();
  const body = (await request.json()) as { enabled?: boolean };
  if (body.enabled) {
    await createNewsletterOptIn({ email: user.email, userId: user.id, source: "account", ip: getClientIp() });
    return NextResponse.json({ ok: true, message: "Bestätigungs-Mail wurde gesendet." });
  }
  await setNewsletterStatus(user.id, user.email, "unsubscribed");
  return NextResponse.json({ ok: true });
}
