From 47d78cbd9877ffb2d8a05fb98f9090509456e7c8 Mon Sep 17 00:00:00 2001 From: dwindown Date: Sat, 27 Dec 2025 08:27:34 +0700 Subject: [PATCH] Fix consulting slots ordering and add debug logging MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Changes: - Sort consulting slots by start_time before processing - Ensures correct first/last slot selection for calendar events - Add debug logging to track time slot calculations - Fixes end time calculation for multi-slot consulting orders This ensures that when multiple slots are booked: - Slots are processed in chronological order - Calendar event uses first slot's start and last slot's end - Event duration correctly covers all booked slots 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 --- supabase/functions/handle-order-paid/index.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/supabase/functions/handle-order-paid/index.ts b/supabase/functions/handle-order-paid/index.ts index 16a89f4..1a79fbb 100644 --- a/supabase/functions/handle-order-paid/index.ts +++ b/supabase/functions/handle-order-paid/index.ts @@ -99,6 +99,9 @@ serve(async (req: Request): Promise => { if (isConsultingOrder) { console.log("[HANDLE-PAID] Consulting order detected, processing slots"); + // Sort slots by start_time to ensure correct ordering + consultingSlots.sort((a, b) => a.start_time.localeCompare(b.start_time)); + // Update consulting slots status from pending_payment to confirmed const { error: updateError } = await supabase .from("consulting_slots") @@ -121,6 +124,9 @@ serve(async (req: Request): Promise => { const lastSlot = consultingSlots[consultingSlots.length - 1]; const topic = "Konsultasi 1-on-1"; + console.log("[HANDLE-PAID] Time slots:", consultingSlots.map(s => `${s.start_time}-${s.end_time}`).join(', ')); + console.log("[HANDLE-PAID] Event will be:", `${firstSlot.start_time} - ${lastSlot.end_time}`); + const meetResponse = await fetch( `${supabaseUrl}/functions/v1/create-google-meet-event`, {