From 912d3cf5b2885625286178e1f7208d01dc8ac77a Mon Sep 17 00:00:00 2001 From: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com> Date: Fri, 18 Oct 2024 20:20:15 +0530 Subject: [PATCH] fix: schedule no show webhooks for requires confirmation event (#17089) --- .../features/bookings/lib/handleConfirmation.ts | 16 ++++++++++++++++ .../handleNewBooking/scheduleNoShowTriggers.ts | 7 ++++--- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/packages/features/bookings/lib/handleConfirmation.ts b/packages/features/bookings/lib/handleConfirmation.ts index 91826f8075..eb949e11a8 100644 --- a/packages/features/bookings/lib/handleConfirmation.ts +++ b/packages/features/bookings/lib/handleConfirmation.ts @@ -27,6 +27,8 @@ import { EventTypeMetaDataSchema } from "@calcom/prisma/zod-utils"; import { getAllWorkflowsFromEventType } from "@calcom/trpc/server/routers/viewer/workflows/util"; import type { AdditionalInformation, CalendarEvent } from "@calcom/types/Calendar"; +import { scheduleNoShowTriggers } from "./handleNewBooking/scheduleNoShowTriggers"; + const log = logger.getSubLogger({ prefix: ["[handleConfirmation] book:user"] }); export async function handleConfirmation(args: { @@ -36,6 +38,8 @@ export async function handleConfirmation(args: { prisma: PrismaClient; bookingId: number; booking: { + startTime: Date; + id: number; eventType: { currency: string; description: string | null; @@ -393,6 +397,18 @@ export async function handleConfirmation(args: { await Promise.all(scheduleTriggerPromises); + await scheduleNoShowTriggers({ + booking: { + startTime: booking.startTime, + id: booking.id, + }, + triggerForUser, + organizerUser: { id: booking.userId }, + eventTypeId: booking.eventTypeId, + teamId, + orgId, + }); + const eventTypeInfo: EventTypeInfo = { eventTitle: eventType?.title, eventDescription: eventType?.description, diff --git a/packages/features/bookings/lib/handleNewBooking/scheduleNoShowTriggers.ts b/packages/features/bookings/lib/handleNewBooking/scheduleNoShowTriggers.ts index 8c22c18b46..49906aef07 100644 --- a/packages/features/bookings/lib/handleNewBooking/scheduleNoShowTriggers.ts +++ b/packages/features/bookings/lib/handleNewBooking/scheduleNoShowTriggers.ts @@ -8,15 +8,16 @@ type ScheduleNoShowTriggersArgs = { startTime: Date; id: number; }; - triggerForUser: number | true | null; - organizerUser: { id: number }; - eventTypeId: number; + triggerForUser?: number | true | null; + organizerUser: { id: number | null }; + eventTypeId: number | null; teamId?: number | null; orgId?: number | null; }; export const scheduleNoShowTriggers = async (args: ScheduleNoShowTriggersArgs) => { const { booking, triggerForUser, organizerUser, eventTypeId, teamId, orgId } = args; + // Add task for automatic no show in cal video const noShowPromises: Promise[] = [];