import { handleUnsubscribe } from './_lib/newsletterSignup';

export async function onRequestGet({ request, env }: { request: Request; env: Record<string, string> }) {
  // One-click unsubscribe via signed token.
  const url = new URL(request.url);
  if (!url.searchParams.get('redirectTo')) {
    url.searchParams.set('redirectTo', '/unsubscribe?unsubscribed=1');
    request = new Request(url.toString(), request);
  }

  return handleUnsubscribe({ request, env });
}

export async function onRequestPost({ request, env }: { request: Request; env: Record<string, string> }) {
  return handleUnsubscribe({ request, env });
}
