diff --git a/apps/web/app/(app)/environments/[environmentId]/actions.ts b/apps/web/app/(app)/environments/[environmentId]/actions.ts index 22ab2a321b..85ce61beb9 100644 --- a/apps/web/app/(app)/environments/[environmentId]/actions.ts +++ b/apps/web/app/(app)/environments/[environmentId]/actions.ts @@ -17,6 +17,7 @@ import { OperationNotAllowedError, ResourceNotFoundError, } from "@formbricks/types/errors"; +import { TUserNotificationSettings } from "@formbricks/types/user"; export const createShortUrlAction = async (url: string) => { const session = await getServerSession(authOptions); @@ -54,7 +55,7 @@ export const createOrganizationAction = async (organizationName: string): Promis name: "My Product", }); - const updatedNotificationSettings = { + const updatedNotificationSettings: TUserNotificationSettings = { ...session.user.notificationSettings, alert: { ...session.user.notificationSettings?.alert, @@ -63,6 +64,9 @@ export const createOrganizationAction = async (organizationName: string): Promis ...session.user.notificationSettings?.weeklySummary, [product.id]: true, }, + unsubscribedOrganizationIds: Array.from( + new Set([...(session.user.notificationSettings?.unsubscribedOrganizationIds || []), newOrganization.id]) + ), }; await updateUser(session.user.id, { diff --git a/apps/web/app/(auth)/invite/page.tsx b/apps/web/app/(auth)/invite/page.tsx index 0f8e3f143b..b2680d9aab 100644 --- a/apps/web/app/(auth)/invite/page.tsx +++ b/apps/web/app/(auth)/invite/page.tsx @@ -85,7 +85,18 @@ const Page = async ({ searchParams }) => { session.user?.name ?? "", invite.creator.email ); - await updateUser(session.user.id, { onboardingCompleted: true }); + await updateUser(session.user.id, { + onboardingCompleted: true, + notificationSettings: { + ...session.user.notificationSettings, + unsubscribedOrganizationIds: Array.from( + new Set([ + ...(session.user.notificationSettings?.unsubscribedOrganizationIds || []), + invite.organizationId, + ]) + ), + }, + }); return (