From 49ff9d40b9ad6654534f28649eb619d30fa9b1e7 Mon Sep 17 00:00:00 2001 From: Anshuman Pandey <54475686+pandeymangg@users.noreply.github.com> Date: Tue, 31 Oct 2023 12:41:45 +0530 Subject: [PATCH] fix: fixes surveys cache (#1534) Co-authored-by: Matti Nannt --- .../v1/js/people/[personId]/set-attribute/route.ts | 13 +++++++++---- .../v1/js/people/[personId]/set-user-id/route.ts | 9 +++++++-- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/apps/web/app/api/v1/js/people/[personId]/set-attribute/route.ts b/apps/web/app/api/v1/js/people/[personId]/set-attribute/route.ts index 2b3503cbe4..2aef228c59 100644 --- a/apps/web/app/api/v1/js/people/[personId]/set-attribute/route.ts +++ b/apps/web/app/api/v1/js/people/[personId]/set-attribute/route.ts @@ -4,6 +4,7 @@ import { transformErrorToDetails } from "@/app/lib/api/validator"; import { createAttributeClass, getAttributeClassByName } from "@formbricks/lib/attributeClass/service"; import { personCache } from "@formbricks/lib/person/cache"; import { getPerson, updatePersonAttribute } from "@formbricks/lib/person/service"; +import { surveyCache } from "@formbricks/lib/survey/cache"; import { ZJsPeopleAttributeInput } from "@formbricks/types/js"; import { NextResponse } from "next/server"; @@ -47,15 +48,19 @@ export async function POST(req: Request, { params }): Promise { } // upsert attribute (update or create) - updatePersonAttribute(personId, attributeClass.id, value); - - const state = await getUpdatedState(environmentId, personId, sessionId); + await updatePersonAttribute(personId, attributeClass.id, value); personCache.revalidate({ - id: state.person.id, + id: personId, environmentId, }); + surveyCache.revalidate({ + environmentId, + }); + + const state = await getUpdatedState(environmentId, personId, sessionId); + return responses.successResponse({ ...state }, true); } catch (error) { console.error(error); diff --git a/apps/web/app/api/v1/js/people/[personId]/set-user-id/route.ts b/apps/web/app/api/v1/js/people/[personId]/set-user-id/route.ts index a6e4746662..882b1ff673 100644 --- a/apps/web/app/api/v1/js/people/[personId]/set-user-id/route.ts +++ b/apps/web/app/api/v1/js/people/[personId]/set-user-id/route.ts @@ -5,6 +5,7 @@ import { prisma } from "@formbricks/database"; import { getDisplaysByPersonId, updateDisplay } from "@formbricks/lib/display/service"; import { personCache } from "@formbricks/lib/person/cache"; import { deletePerson, selectPerson, transformPrismaPerson } from "@formbricks/lib/person/service"; +import { surveyCache } from "@formbricks/lib/survey/cache"; import { ZJsPeopleUserIdInput } from "@formbricks/types/js"; import { NextResponse } from "next/server"; @@ -102,13 +103,17 @@ export async function POST(req: Request, { params }): Promise { const transformedPerson = transformPrismaPerson(returnedPerson); - const state = await getUpdatedState(environmentId, transformedPerson.id, sessionId); - personCache.revalidate({ id: transformedPerson.id, environmentId: environmentId, }); + surveyCache.revalidate({ + environmentId, + }); + + const state = await getUpdatedState(environmentId, transformedPerson.id, sessionId); + return responses.successResponse({ ...state }, true); } catch (error) { console.error(error);