/**
 * Public confirm endpoint (PR-19, May 2026).
 *
 * GET /api/status/confirm?token=<64-hex>
 *
 * Idempotent. Redirects the browser to /status?confirmed=1 on success,
 * /status?confirmed=0 on failure (unknown / malformed token). The
 * status page reads the query param and renders a one-line banner.
 */
import { NextRequest, NextResponse } from 'next/server';
import { StatusSubscriberService } from '@/lib/services/status-subscriber.service';

export const dynamic = 'force-dynamic';

export async function GET(req: NextRequest) {
    const token = req.nextUrl.searchParams.get('token') ?? '';
    const service = new StatusSubscriberService();
    const result = await service.confirmSubscription(token);
    const target = new URL(`/status?confirmed=${result.ok ? '1' : '0'}`, req.url);
    return NextResponse.redirect(target);
}
