From 754bdfbca78597ca5f0bbfa3b81f140b5431c7e8 Mon Sep 17 00:00:00 2001 From: Matti Nannt Date: Mon, 21 Aug 2023 09:47:06 +0200 Subject: [PATCH] Move Telemetry events to services and limit events to surveyCreated and responseCreated (#719) --- apps/web/app/api/v1/client/responses/route.ts | 3 --- .../client/environments/[environmentId]/sessions/index.ts | 3 --- .../responses/[submissionId]/responsesNotes/index.ts | 6 ++---- .../[surveyId]/responses/[submissionId]/tags/index.ts | 8 +++----- .../api/v1/environments/[environmentId]/tags/index.ts | 4 +--- packages/lib/services/response.ts | 2 ++ 6 files changed, 8 insertions(+), 18 deletions(-) diff --git a/apps/web/app/api/v1/client/responses/route.ts b/apps/web/app/api/v1/client/responses/route.ts index 152c496e76..148d2eb8f4 100644 --- a/apps/web/app/api/v1/client/responses/route.ts +++ b/apps/web/app/api/v1/client/responses/route.ts @@ -6,7 +6,6 @@ import { capturePosthogEvent } from "@formbricks/lib/posthogServer"; import { createResponse } from "@formbricks/lib/services/response"; import { getSurvey } from "@formbricks/lib/services/survey"; import { getTeamDetails } from "@formbricks/lib/services/teamDetails"; -import { captureTelemetry } from "@formbricks/lib/telemetry"; import { TResponse, TResponseInput, ZResponseInput } from "@formbricks/types/v1/responses"; import { NextResponse } from "next/server"; import { UAParser } from "ua-parser-js"; @@ -81,8 +80,6 @@ export async function POST(request: Request): Promise { }); } - captureTelemetry("response created"); - if (teamDetails?.teamOwnerId) { await capturePosthogEvent(teamDetails.teamOwnerId, "response created", teamDetails.teamId, { surveyId: response.surveyId, diff --git a/apps/web/pages/api/v1/client/environments/[environmentId]/sessions/index.ts b/apps/web/pages/api/v1/client/environments/[environmentId]/sessions/index.ts index aa9677606a..23a9efd40f 100644 --- a/apps/web/pages/api/v1/client/environments/[environmentId]/sessions/index.ts +++ b/apps/web/pages/api/v1/client/environments/[environmentId]/sessions/index.ts @@ -1,7 +1,6 @@ import { createSession } from "@/lib/api/clientSession"; import { getSettings } from "@/lib/api/clientSettings"; import type { NextApiRequest, NextApiResponse } from "next"; -import { captureTelemetry } from "@formbricks/lib/telemetry"; export default async function handle(req: NextApiRequest, res: NextApiResponse) { const environmentId = req.query.environmentId?.toString(); @@ -26,8 +25,6 @@ export default async function handle(req: NextApiRequest, res: NextApiResponse) const session = await createSession(personId); const settings = await getSettings(environmentId, personId); - captureTelemetry("session created"); - return res.json({ session, settings }); } catch (error) { res.status(500).json({ message: error.message }); diff --git a/apps/web/pages/api/v1/environments/[environmentId]/surveys/[surveyId]/responses/[submissionId]/responsesNotes/index.ts b/apps/web/pages/api/v1/environments/[environmentId]/surveys/[surveyId]/responses/[submissionId]/responsesNotes/index.ts index 979650388b..09f9348459 100644 --- a/apps/web/pages/api/v1/environments/[environmentId]/surveys/[surveyId]/responses/[submissionId]/responsesNotes/index.ts +++ b/apps/web/pages/api/v1/environments/[environmentId]/surveys/[surveyId]/responses/[submissionId]/responsesNotes/index.ts @@ -1,8 +1,7 @@ -import { captureTelemetry } from "@/../../packages/lib/telemetry"; -import { hasEnvironmentAccess, getSessionUser } from "@/lib/api/apiHelper"; +import { getSessionUser, hasEnvironmentAccess } from "@/lib/api/apiHelper"; +import { responses } from "@/lib/api/response"; import { prisma } from "@formbricks/database"; import type { NextApiRequest, NextApiResponse } from "next"; -import { responses } from "@/lib/api/response"; export default async function handle(req: NextApiRequest, res: NextApiResponse) { const environmentId = req.query.environmentId?.toString(); @@ -75,7 +74,6 @@ export default async function handle(req: NextApiRequest, res: NextApiResponse) }; const newResponseNote = await prisma.responseNote.create(responseNote); - captureTelemetry("responseNote created"); return res.json(newResponseNote); } diff --git a/apps/web/pages/api/v1/environments/[environmentId]/surveys/[surveyId]/responses/[submissionId]/tags/index.ts b/apps/web/pages/api/v1/environments/[environmentId]/surveys/[surveyId]/responses/[submissionId]/tags/index.ts index b25bdea50e..b34f03a1e7 100644 --- a/apps/web/pages/api/v1/environments/[environmentId]/surveys/[surveyId]/responses/[submissionId]/tags/index.ts +++ b/apps/web/pages/api/v1/environments/[environmentId]/surveys/[surveyId]/responses/[submissionId]/tags/index.ts @@ -1,9 +1,8 @@ -import { captureTelemetry } from "@/../../packages/lib/telemetry"; -import { hasEnvironmentAccess, getSessionUser } from "@/lib/api/apiHelper"; -import { prisma } from "@formbricks/database"; -import type { NextApiRequest, NextApiResponse } from "next"; +import { getSessionUser, hasEnvironmentAccess } from "@/lib/api/apiHelper"; import { responses } from "@/lib/api/response"; +import { prisma } from "@formbricks/database"; import { Prisma } from "@prisma/client"; +import type { NextApiRequest, NextApiResponse } from "next"; export default async function handle(req: NextApiRequest, res: NextApiResponse) { const environmentId = req.query.environmentId?.toString(); @@ -77,7 +76,6 @@ export default async function handle(req: NextApiRequest, res: NextApiResponse) return res.status(500).json({ message: "Internal Server Error" }); } - captureTelemetry(`tags retrieved for response ${responseId}`); return res.json(tags); } diff --git a/apps/web/pages/api/v1/environments/[environmentId]/tags/index.ts b/apps/web/pages/api/v1/environments/[environmentId]/tags/index.ts index 57e489d49f..89b038ac67 100644 --- a/apps/web/pages/api/v1/environments/[environmentId]/tags/index.ts +++ b/apps/web/pages/api/v1/environments/[environmentId]/tags/index.ts @@ -1,5 +1,4 @@ -import { captureTelemetry } from "@/../../packages/lib/telemetry"; -import { hasEnvironmentAccess, getSessionUser } from "@/lib/api/apiHelper"; +import { getSessionUser, hasEnvironmentAccess } from "@/lib/api/apiHelper"; import { prisma } from "@formbricks/database/src/client"; import { TTag } from "@formbricks/types/v1/tags"; import { Prisma } from "@prisma/client"; @@ -43,7 +42,6 @@ export default async function handle(req: NextApiRequest, res: NextApiResponse) return res.status(500).json({ message: "Internal Server Error" }); } - captureTelemetry(`tags retrived for ${environmentId}`); return res.json(tags); } diff --git a/packages/lib/services/response.ts b/packages/lib/services/response.ts index 8030802652..d3329fe5c7 100644 --- a/packages/lib/services/response.ts +++ b/packages/lib/services/response.ts @@ -7,6 +7,7 @@ import { Prisma } from "@prisma/client"; import { cache } from "react"; import "server-only"; import { getPerson, transformPrismaPerson } from "./person"; +import { captureTelemetry } from "../telemetry"; const responseSelection = { id: true, @@ -97,6 +98,7 @@ export const getResponsesByPersonId = async (personId: string): Promise): Promise => { + captureTelemetry("response created"); try { let person: TPerson | null = null;