From 9b79c037c21df6d4adbbf217d680277bd07eda5a Mon Sep 17 00:00:00 2001 From: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com> Date: Fri, 15 Nov 2024 22:15:44 +0530 Subject: [PATCH] fix: remove cal video logo from select (#17665) * fix: remove cal video logo from managed event types * fix: do not fetch cal video logo --- apps/web/lib/video/[uid]/getServerSideProps.ts | 6 ++++++ .../web/modules/videos/views/videos-single-view.tsx | 6 +++--- packages/features/eventtypes/lib/getPublicEvent.ts | 1 - packages/lib/server/repository/organization.ts | 13 +++++++++++++ packages/lib/server/repository/profile.ts | 2 -- packages/lib/server/repository/user.ts | 2 +- .../eventTypes/getEventTypesFromGroup.handler.ts | 10 ---------- 7 files changed, 23 insertions(+), 17 deletions(-) diff --git a/apps/web/lib/video/[uid]/getServerSideProps.ts b/apps/web/lib/video/[uid]/getServerSideProps.ts index c0cbc2c39c..be979a7b54 100644 --- a/apps/web/lib/video/[uid]/getServerSideProps.ts +++ b/apps/web/lib/video/[uid]/getServerSideProps.ts @@ -9,6 +9,7 @@ import { import { getServerSession } from "@calcom/features/auth/lib/getServerSession"; import { getCalVideoReference } from "@calcom/features/get-cal-video-reference"; import { BookingRepository } from "@calcom/lib/server/repository/booking"; +import { OrganizationRepository } from "@calcom/lib/server/repository/organization"; import { UserRepository } from "@calcom/lib/server/repository/user"; import prisma from "@calcom/prisma"; @@ -55,6 +56,10 @@ export async function getServerSideProps(context: GetServerSidePropsContext) { ).profile : null; + const calVideoLogo = profile?.organization + ? await OrganizationRepository.findCalVideoLogoByOrgId({ id: profile.organization.id }) + : null; + //daily.co calls have a 14 days exit buffer when a user enters a call when it's not available it will trigger the modals const now = new Date(); const exitDate = new Date(now.getTime() - 14 * 24 * 60 * 60 * 1000); @@ -134,6 +139,7 @@ export async function getServerSideProps(context: GetServerSidePropsContext) { : bookingObj.user, }, hasTeamPlan: !!hasTeamPlan, + calVideoLogo, trpcState: ssr.dehydrate(), }, }; diff --git a/apps/web/modules/videos/views/videos-single-view.tsx b/apps/web/modules/videos/views/videos-single-view.tsx index 9abb726ae0..524fe7da73 100644 --- a/apps/web/modules/videos/views/videos-single-view.tsx +++ b/apps/web/modules/videos/views/videos-single-view.tsx @@ -24,7 +24,7 @@ export type PageProps = inferSSRProps; export default function JoinCall(props: PageProps) { const { t } = useLocale(); - const { meetingUrl, meetingPassword, booking, hasTeamPlan } = props; + const { meetingUrl, meetingPassword, booking, hasTeamPlan, calVideoLogo } = props; const [daily, setDaily] = useState(null); useEffect(() => { @@ -103,10 +103,10 @@ export default function JoinCall(props: PageProps) {
- {booking?.user?.organization?.calVideoLogo ? ( + {calVideoLogo ? ( My Org Logo()({ id: true, name: true, slug: true, - calVideoLogo: true, bannerUrl: true, }, }, diff --git a/packages/lib/server/repository/organization.ts b/packages/lib/server/repository/organization.ts index ffedd7db4f..1224aef609 100644 --- a/packages/lib/server/repository/organization.ts +++ b/packages/lib/server/repository/organization.ts @@ -298,4 +298,17 @@ export class OrganizationRepository { } return { ...org, metadata: parsedMetadata }; } + + static async findCalVideoLogoByOrgId({ id }: { id: number }) { + const org = await prisma.team.findUnique({ + where: { + id, + }, + select: { + calVideoLogo: true, + }, + }); + + return org?.calVideoLogo; + } } diff --git a/packages/lib/server/repository/profile.ts b/packages/lib/server/repository/profile.ts index 3e730511dd..abf248930b 100644 --- a/packages/lib/server/repository/profile.ts +++ b/packages/lib/server/repository/profile.ts @@ -42,7 +42,6 @@ const organizationSelect = { name: true, metadata: true, logoUrl: true, - calVideoLogo: true, bannerUrl: true, isPlatform: true, }; @@ -363,7 +362,6 @@ export class ProfileRepository { }, organization: { select: { - calVideoLogo: true, id: true, logoUrl: true, name: true, diff --git a/packages/lib/server/repository/user.ts b/packages/lib/server/repository/user.ts index b1f5d9a310..2023176772 100644 --- a/packages/lib/server/repository/user.ts +++ b/packages/lib/server/repository/user.ts @@ -465,7 +465,7 @@ export class UserRepository { organization?: { id: number; name: string; - calVideoLogo: string | null; + calVideoLogo?: string | null; bannerUrl: string | null; slug: string | null; metadata: Prisma.JsonValue; diff --git a/packages/trpc/server/routers/viewer/eventTypes/getEventTypesFromGroup.handler.ts b/packages/trpc/server/routers/viewer/eventTypes/getEventTypesFromGroup.handler.ts index 7f7a96e2cf..6dc26cf1ff 100644 --- a/packages/trpc/server/routers/viewer/eventTypes/getEventTypesFromGroup.handler.ts +++ b/packages/trpc/server/routers/viewer/eventTypes/getEventTypesFromGroup.handler.ts @@ -207,16 +207,6 @@ const filterEventTypes = async ( evType.hosts = []; }); - // Remove calVideoLogo from organization objects - filteredEventTypes.forEach((eventType) => { - eventType.users?.forEach((user) => { - if (user.profile?.organization) { - const { calVideoLogo, ...orgWithoutCalVideoLogo } = user.profile.organization; - user.profile.organization = orgWithoutCalVideoLogo; - } - }); - }); - log.info( "filteredEventTypes", safeStringify({