From c0298248dc59be5236337c762eabd810f284a850 Mon Sep 17 00:00:00 2001 From: Anik Dhabal Babu <81948346+anikdhabal@users.noreply.github.com> Date: Wed, 23 Oct 2024 09:24:06 +0530 Subject: [PATCH] fix: private team does not hide team members from event type page (#17099) * fix: private team does not hide team members from event type page * update * Update --- .../getEventTypesFromGroup.handler.ts | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/packages/trpc/server/routers/viewer/eventTypes/getEventTypesFromGroup.handler.ts b/packages/trpc/server/routers/viewer/eventTypes/getEventTypesFromGroup.handler.ts index 51832aa2e0..7b14fad209 100644 --- a/packages/trpc/server/routers/viewer/eventTypes/getEventTypesFromGroup.handler.ts +++ b/packages/trpc/server/routers/viewer/eventTypes/getEventTypesFromGroup.handler.ts @@ -3,6 +3,7 @@ import { checkRateLimitAndThrowError } from "@calcom/lib/checkRateLimitAndThrowE import logger from "@calcom/lib/logger"; import { safeStringify } from "@calcom/lib/safeStringify"; import { EventTypeRepository } from "@calcom/lib/server/repository/eventType"; +import { prisma } from "@calcom/prisma"; import type { PrismaClient } from "@calcom/prisma"; // import { SchedulingType } from "@calcom/prisma/enums"; @@ -133,6 +134,28 @@ export const getEventTypesFromGroup = async ({ ctx, input }: GetByViewerOptions) }) ); + const membership = await prisma.membership.findFirst({ + where: { + userId: ctx.user.id, + teamId: teamId ?? 0, + accepted: true, + role: "MEMBER", + }, + include: { + team: { + select: { + isPrivate: true, + }, + }, + }, + }); + + if (membership && membership.team.isPrivate) + filteredEventTypes.forEach((evType) => { + evType.users = []; + evType.hosts = []; + }); + return { eventTypes: filteredEventTypes || [], nextCursor,