From e9c71abd6fb1cce432299ef6737dc2a8af10a2d4 Mon Sep 17 00:00:00 2001 From: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com> Date: Wed, 4 Sep 2024 13:56:20 -0400 Subject: [PATCH] fix: meeting url missing in workflow email (#16434) Co-authored-by: CarinaWolli Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com> --- packages/features/bookings/lib/handleCancelBooking.ts | 7 ++++++- packages/features/ee/round-robin/roundRobinReassignment.ts | 5 +++-- .../routers/viewer/workflows/activateEventType.handler.ts | 1 + packages/trpc/server/routers/viewer/workflows/util.ts | 2 ++ 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/packages/features/bookings/lib/handleCancelBooking.ts b/packages/features/bookings/lib/handleCancelBooking.ts index ba4b60b22a..a54a98f4ca 100644 --- a/packages/features/bookings/lib/handleCancelBooking.ts +++ b/packages/features/bookings/lib/handleCancelBooking.ts @@ -25,7 +25,11 @@ import prisma, { bookingMinimalSelect } from "@calcom/prisma"; import type { WebhookTriggerEvents } from "@calcom/prisma/enums"; import { BookingStatus } from "@calcom/prisma/enums"; import { credentialForCalendarServiceSelect } from "@calcom/prisma/selects/credential"; -import { EventTypeMetaDataSchema, schemaBookingCancelParams } from "@calcom/prisma/zod-utils"; +import { + bookingMetadataSchema, + EventTypeMetaDataSchema, + schemaBookingCancelParams, +} from "@calcom/prisma/zod-utils"; import type { EventTypeMetadata } from "@calcom/prisma/zod-utils"; import { deleteAllWorkflowReminders, @@ -359,6 +363,7 @@ async function handler(req: CustomRequest) { smsReminderNumber: bookingToDelete.smsReminderNumber, evt: { ...evt, + metadata: { videoCallUrl: bookingMetadataSchema.parse(bookingToDelete.metadata || {})?.videoCallUrl }, ...{ eventType: { slug: bookingToDelete.eventType?.slug, diff --git a/packages/features/ee/round-robin/roundRobinReassignment.ts b/packages/features/ee/round-robin/roundRobinReassignment.ts index cc58d445e8..b3223467fa 100644 --- a/packages/features/ee/round-robin/roundRobinReassignment.ts +++ b/packages/features/ee/round-robin/roundRobinReassignment.ts @@ -462,6 +462,8 @@ export const roundRobinReassignment = async ({ bookingId }: { bookingId: number }, }); + const workflowEventMetadata = { videoCallUrl: getVideoCallUrlFromCalEvent(evt) }; + for (const workflowReminder of workflowReminders) { const workflowStep = workflowReminder?.workflowStep; const workflow = workflowStep?.workflow; @@ -470,6 +472,7 @@ export const roundRobinReassignment = async ({ bookingId }: { bookingId: number await scheduleEmailReminder({ evt: { ...evt, + metadata: workflowEventMetadata, eventType, }, action: WorkflowActions.EMAIL_HOST, @@ -531,8 +534,6 @@ export const roundRobinReassignment = async ({ bookingId }: { bookingId: number }, }); - const workflowEventMetadata = { videoCallUrl: getVideoCallUrlFromCalEvent(evt) }; - await scheduleWorkflowReminders({ workflows: newEventWorkflows, smsReminderNumber: null, diff --git a/packages/trpc/server/routers/viewer/workflows/activateEventType.handler.ts b/packages/trpc/server/routers/viewer/workflows/activateEventType.handler.ts index e1ddb2e04a..0379145e48 100644 --- a/packages/trpc/server/routers/viewer/workflows/activateEventType.handler.ts +++ b/packages/trpc/server/routers/viewer/workflows/activateEventType.handler.ts @@ -254,6 +254,7 @@ export const activateEventTypeHandler = async ({ ctx, input }: ActivateEventType schedulingType: booking.eventType?.schedulingType, hosts: booking.eventType?.hosts, }, + metadata: booking.metadata, }; for (const step of eventTypeWorkflow.steps) { if ( diff --git a/packages/trpc/server/routers/viewer/workflows/util.ts b/packages/trpc/server/routers/viewer/workflows/util.ts index b7b3d720f6..03044ccf8b 100644 --- a/packages/trpc/server/routers/viewer/workflows/util.ts +++ b/packages/trpc/server/routers/viewer/workflows/util.ts @@ -53,6 +53,7 @@ export const bookingSelect = { endTime: true, title: true, uid: true, + metadata: true, attendees: { select: { name: true, @@ -751,6 +752,7 @@ export async function scheduleBookingReminders( schedulingType: booking.eventType?.schedulingType, hosts: booking.eventType?.hosts, }, + metadata: booking.metadata, }; if ( step.action === WorkflowActions.EMAIL_HOST ||