From 29a58daed405d4df3a37b3faefe30c79d4bfe5f8 Mon Sep 17 00:00:00 2001 From: dwindown Date: Tue, 23 Dec 2025 11:46:54 +0700 Subject: [PATCH] Add conferenceData entryPoints parsing and full event logging - Check conferenceData.entryPoints for video meet link - Keep hangoutLink as fallback for backwards compatibility - Log full event response to debug missing meet link - This will show us what Google actually returns --- .../create-google-meet-event/index.ts | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/supabase/functions/create-google-meet-event/index.ts b/supabase/functions/create-google-meet-event/index.ts index 8b22d78..cc0cbcf 100644 --- a/supabase/functions/create-google-meet-event/index.ts +++ b/supabase/functions/create-google-meet-event/index.ts @@ -246,8 +246,31 @@ serve(async (req: Request): Promise => { const eventDataResult = await calendarResponse.json(); console.log("Event created:", eventDataResult.id); + console.log("Full event response:", JSON.stringify(eventDataResult, null, 2)); - // Update the slot with the meet link + // Check if conference data was created + if (eventDataResult.conferenceData && eventDataResult.conferenceData.entryPoints) { + const meetLink = eventDataResult.conferenceData.entryPoints.find((ep: any) => ep.entryPointType === "video")?.uri; + + if (meetLink) { + await supabase + .from("consulting_slots") + .update({ meet_link: meetLink }) + .eq("id", body.slot_id); + + return new Response( + JSON.stringify({ + success: true, + meet_link: meetLink, + event_id: eventDataResult.id, + html_link: eventDataResult.htmlLink, + }), + { headers: { ...corsHeaders, "Content-Type": "application/json" } } + ); + } + } + + // Fallback to hangoutLink for backwards compatibility if (eventDataResult.hangoutLink) { await supabase .from("consulting_slots")