From d097c1fada623a103244cdf5dd7671650148cb1f Mon Sep 17 00:00:00 2001 From: Pradumn Kumar <47187878+Pradumn27@users.noreply.github.com> Date: Tue, 11 Jul 2023 13:16:24 +0530 Subject: [PATCH] fix: fixes issue with webhook not being triggered for managed events (#10025) --- .../features/bookings/lib/handleNewBooking.ts | 27 +++++++++++++++++-- packages/lib/defaultEvents.ts | 1 + 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/packages/features/bookings/lib/handleNewBooking.ts b/packages/features/bookings/lib/handleNewBooking.ts index b6fc15f053..688097bb1c 100644 --- a/packages/features/bookings/lib/handleNewBooking.ts +++ b/packages/features/bookings/lib/handleNewBooking.ts @@ -647,6 +647,26 @@ function getCustomInputsResponses( return customInputsResponses; } +async function getTeamId({ eventType }: { eventType: Awaited> }) { + if (eventType?.team?.id) { + return eventType.team.id; + } + + // If it's a managed event we need to find the teamId for it from the parent + if (eventType.parentId) { + const managedEvent = await prisma.eventType.findFirst({ + where: { + id: eventType.parentId, + }, + select: { + teamId: true, + }, + }); + + return managedEvent?.teamId; + } +} + async function handler( req: NextApiRequest & { userId?: number | undefined }, { @@ -2225,11 +2245,14 @@ async function handler( status: "ACCEPTED", smsReminderNumber: booking?.smsReminderNumber || undefined, }; + + const teamId = await getTeamId({ eventType }); + const subscriberOptions: GetSubscriberOptions = { userId: organizerUser.id, eventTypeId, triggerEvent: WebhookTriggerEvents.BOOKING_CREATED, - teamId: eventType.team?.id, + teamId, }; if (isConfirmedByDefault) { @@ -2243,7 +2266,7 @@ async function handler( userId: organizerUser.id, eventTypeId, triggerEvent: WebhookTriggerEvents.MEETING_ENDED, - teamId: eventType.team?.id, + teamId, }; try { diff --git a/packages/lib/defaultEvents.ts b/packages/lib/defaultEvents.ts index f7372f3f43..24c7b0a0ee 100644 --- a/packages/lib/defaultEvents.ts +++ b/packages/lib/defaultEvents.ts @@ -94,6 +94,7 @@ const commons = { parentId: null, owner: null, workflows: [], + parentId: null, users: [user], hosts: [], metadata: EventTypeMetaDataSchema.parse({}),