import { Handlers } from "$fresh/server.ts"; import { storage } from "../lib/storage.ts"; import { validateEmail } from "../lib/utils.ts"; export const handler: Handlers = { async GET(request, ctx) { const url = new URL(request.url); const email = url.searchParams.get("email"); if (!email) { console.error("Missing email in query params", request.url); return Response.redirect("/donations-error"); } if (!validateEmail(email)) { console.error("Invalid email server side", email); return Response.redirect("/donations-error"); } const agreement = await storage.readVippsAgreement({ id: email }); if (!agreement) { console.error("Missing agreement for email", email); return Response.redirect("/donations-error"); } await storage.writeVippsAgreement({ ...agreement, validAt: new Date(), }); return ctx.render({}); }, }; export default function () { return (
); }