UNPKG

naystack

Version:

A stack built with tight Next + Drizzle + GraphQL

28 lines (26 loc) 773 B
// src/socials/meta-webhook.ts import { NextResponse } from "next/server"; var verifyWebhook = (secret) => (req) => { const params = req.nextUrl.searchParams; if (params.get("hub.verify_token") === secret) { return new NextResponse(params.get("hub.challenge")); } }; // src/socials/threads/webhook.ts var setupThreadsWebhook = (options) => { return { GET: verifyWebhook(options.secret), POST: async (req) => { const payload = await req.json(); let allGood = true; for (const { value, field } of payload.values) { allGood = allGood && await options.callback(field, value); } if (!allGood) return new Response("BAD", { status: 500 }); return new Response("OK"); } }; }; export { setupThreadsWebhook };