import { createTRPCContext } from "@openstatus/api"; import { lambdaRouter } from "@openstatus/api/src/lambda"; import { fetchRequestHandler } from "@trpc/server/adapters/fetch"; import type { NextRequest } from "next/server"; import { auth } from "../../../../../lib/auth"; import { createOnError, guardTRPCSource } from "../../../../../lib/trpc/shared"; // Stripe is incompatible with Edge runtimes due to using Node.js events // export const runtime = "edge"; const handler = (req: NextRequest) => { const blocked = guardTRPCSource(req); if (blocked) return blocked; return fetchRequestHandler({ endpoint: "/api/trpc/lambda", router: lambdaRouter, req: req, createContext: () => createTRPCContext({ req, auth }), onError: createOnError("lambda"), }); }; export { handler as GET, handler as POST };