import { applyWhitelistDecision, verifyReviewToken, } from "@/app/lib/minecraft-whitelist"; export const runtime = "nodejs"; function escapeHtml(value: string) { return value .replaceAll("&", "&") .replaceAll("<", "<") .replaceAll(">", ">") .replaceAll('"', """) .replaceAll("'", "'"); } function htmlResponse(title: string, body: string, status = 200) { return new Response( ` ${escapeHtml(title)}

${escapeHtml(title)}

${escapeHtml(body)}

`, { status, headers: { "Content-Type": "text/html; charset=utf-8", "X-Robots-Tag": "noindex, nofollow", }, }, ); } export async function GET(request: Request) { try { const url = new URL(request.url); const review = verifyReviewToken(url.searchParams.get("token")); const result = await applyWhitelistDecision(review.username, review.decision); return htmlResponse( review.decision === "accept" ? "Demande acceptée" : "Demande refusée", result, ); } catch (error) { const message = error instanceof Error ? error.message : "Action impossible."; return htmlResponse("Action impossible", message, 400); } }