Fix consulting slots ordering and add debug logging

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 <noreply@anthropic.com>
This commit is contained in:
dwindown
2025-12-27 08:27:34 +07:00
parent 42d6bd98e2
commit 47d78cbd98

View File

@@ -99,6 +99,9 @@ serve(async (req: Request): Promise<Response> => {
if (isConsultingOrder) { if (isConsultingOrder) {
console.log("[HANDLE-PAID] Consulting order detected, processing slots"); 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 // Update consulting slots status from pending_payment to confirmed
const { error: updateError } = await supabase const { error: updateError } = await supabase
.from("consulting_slots") .from("consulting_slots")
@@ -121,6 +124,9 @@ serve(async (req: Request): Promise<Response> => {
const lastSlot = consultingSlots[consultingSlots.length - 1]; const lastSlot = consultingSlots[consultingSlots.length - 1];
const topic = "Konsultasi 1-on-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( const meetResponse = await fetch(
`${supabaseUrl}/functions/v1/create-google-meet-event`, `${supabaseUrl}/functions/v1/create-google-meet-event`,
{ {