@@ -11,7 +11,6 @@ import { shouldHideBrandingForEvent } from "@calcom/lib/hideBranding";
1111import { parseRecurringEvent } from "@calcom/lib/isRecurringEvent" ;
1212import { markdownToSafeHTML } from "@calcom/lib/markdownToSafeHTML" ;
1313import { maybeGetBookingUidFromSeat } from "@calcom/lib/server/maybeGetBookingUidFromSeat" ;
14- import { isTeamAdmin , isTeamMember } from "@calcom/lib/server/queries/teams" ;
1514import { BookingRepository } from "@calcom/lib/server/repository/booking" ;
1615import prisma from "@calcom/prisma" ;
1716import { customInputSchema } from "@calcom/prisma/zod-utils" ;
@@ -175,27 +174,29 @@ export async function getServerSideProps(context: GetServerSidePropsContext) {
175174 ) ;
176175 } ;
177176
178- const checkIfUserIsTeamMember = async ( userId ?: number | null ) => {
179- if ( ! userId ) return false ;
180-
181- const teamId = eventType . team ?. id ;
182- if ( teamId ) {
183- const teamMemberResult = await isTeamMember ( userId , teamId ) ;
184- if ( teamMemberResult ) return true ;
185- }
186-
187- const parentTeamId = eventType . parent ?. teamId ;
188- if ( parentTeamId ) {
189- const parentTeamMemberResult = await isTeamMember ( userId , parentTeamId ) ;
190- if ( parentTeamMemberResult ) return true ;
191- }
177+ const isLoggedInUserHost = checkIfUserIsHost ( userId ) ;
192178
193- return false ;
194- } ;
179+ const isLoggedInUserTeamAdmin = ! ! (
180+ userId &&
181+ ( ( eventType . team ?. id &&
182+ ( await prisma . membership . findUnique ( {
183+ where : {
184+ userId_teamId : { userId, teamId : eventType . team . id } ,
185+ accepted : true ,
186+ OR : [ { role : "ADMIN" } , { role : "OWNER" } ] ,
187+ } ,
188+ } ) ) ) ||
189+ ( eventType . parent ?. teamId &&
190+ ( await prisma . membership . findUnique ( {
191+ where : {
192+ userId_teamId : { userId, teamId : eventType . parent . teamId } ,
193+ accepted : true ,
194+ OR : [ { role : "ADMIN" } , { role : "OWNER" } ] ,
195+ } ,
196+ } ) ) ) )
197+ ) ;
195198
196- const isLoggedInUserHost = checkIfUserIsHost ( userId ) ;
197- const isLoggedInUserTeamMember = await checkIfUserIsTeamMember ( userId ) ;
198- const canViewHiddenData = isLoggedInUserHost || isLoggedInUserTeamMember ;
199+ const canViewHiddenData = isLoggedInUserHost || isLoggedInUserTeamAdmin ;
199200
200201 if ( bookingInfo !== null && eventType . seatsPerTimeSlot ) {
201202 await handleSeatsEventTypeOnBooking ( eventType , bookingInfo , seatReferenceUid , isLoggedInUserHost ) ;
0 commit comments