diff --git a/apps/web/app/api/v1/js/sync/route.ts b/apps/web/app/api/v1/js/sync/route.ts index ca958a35c0..6b550c4f54 100644 --- a/apps/web/app/api/v1/js/sync/route.ts +++ b/apps/web/app/api/v1/js/sync/route.ts @@ -1,28 +1,33 @@ -/* import { getSurveys } from "@/app/api/v1/js/surveys"; */ +import { getSurveys } from "@/app/api/v1/js/surveys"; import { responses } from "@/lib/api/response"; -/* import { transformErrorToDetails } from "@/lib/api/validator"; +import { IS_FORMBRICKS_CLOUD } from "@formbricks/lib/constants"; +import { transformErrorToDetails } from "@/lib/api/validator"; import { getActionClasses } from "@formbricks/lib/services/actionClass"; import { getEnvironment } from "@formbricks/lib/services/environment"; import { createPerson, getPerson } from "@formbricks/lib/services/person"; import { getProductByEnvironmentId } from "@formbricks/lib/services/product"; -import { createSession, extendSession, getSession } from "@formbricks/lib/services/session"; */ -/* import { captureTelemetry } from "@formbricks/lib/telemetry"; */ -/* import { TJsState, ZJsSyncInput } from "@formbricks/types/v1/js"; +import { createSession, extendSession, getSession } from "@formbricks/lib/services/session"; +import { captureTelemetry } from "@formbricks/lib/telemetry"; +import { TJsState, ZJsSyncInput } from "@formbricks/types/v1/js"; import { TPerson } from "@formbricks/types/v1/people"; -import { TSession } from "@formbricks/types/v1/sessions"; */ +import { TSession } from "@formbricks/types/v1/sessions"; import { NextResponse } from "next/server"; -/* const captureNewSessionTelemetry = async (jsVersion?: string): Promise => { +const captureNewSessionTelemetry = async (jsVersion?: string): Promise => { await captureTelemetry("session created", { jsVersion: jsVersion ?? "unknown" }); -}; */ +}; export async function OPTIONS(): Promise { return responses.successResponse({}, true); } -export async function POST(/* req: Request */): Promise { - return responses.notFoundResponse("Sync", "Temporarily deactivated", true); - /* try { +export async function POST(req: Request): Promise { + if (IS_FORMBRICKS_CLOUD) { + // hotfix for cloud + // TODO: remove this when we have a proper fix + return responses.notFoundResponse("Sync", "Temporarily deactivated", true); + } + try { const jsonInput = await req.json(); // validate using zod @@ -172,5 +177,5 @@ export async function POST(/* req: Request */): Promise { "Unable to complete response. See server logs for details.", true ); - } */ + } } diff --git a/packages/database/src/client.ts b/packages/database/src/client.ts index 87679c877c..c09a13c131 100644 --- a/packages/database/src/client.ts +++ b/packages/database/src/client.ts @@ -1,12 +1,16 @@ import { PrismaClient } from "@prisma/client"; import { withAccelerate } from "@prisma/extension-accelerate"; -declare global { - var prisma: any | undefined; // use any type for now. TODO: add support for Accelerate +function makePrisma() { + return new PrismaClient({ + datasources: { db: { url: process.env.DATABASE_URL } }, + }).$extends(withAccelerate()); } -export const prisma = - global.prisma || - new PrismaClient({ datasources: { db: { url: process.env.DATABASE_URL } } }).$extends(withAccelerate()); +const globalForPrisma = global as unknown as { + prisma: ReturnType; +}; -if (process.env.NODE_ENV !== "production") global.prisma = prisma; +export const prisma = globalForPrisma.prisma ?? makePrisma(); + +if (process.env.NODE_ENV !== "production") globalForPrisma.prisma = makePrisma();