Compare commits

..

No commits in common. "e139244cc5d355fa23e49297f67399908a1b301f" and "0a4a877cfb2006bb7bcf2890b2d1d94dcf181352" have entirely different histories.

2 changed files with 1 additions and 7 deletions

View File

@ -392,14 +392,9 @@ export async function scheduleAppointment(id: string, input: ScheduleAppointment
throw new Error("Authentication required."); throw new Error("Authentication required.");
} }
// Get user's timezone
const userTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
// Build payload with defaults // Build payload with defaults
const payload: any = { const payload: any = {
...input, ...input,
// Always include timezone when scheduling with datetime
...(input.scheduled_datetime && { timezone: input.timezone || userTimezone }),
// Default create_jitsi_meeting to true if not specified // Default create_jitsi_meeting to true if not specified
create_jitsi_meeting: input.create_jitsi_meeting !== undefined ? input.create_jitsi_meeting : true, create_jitsi_meeting: input.create_jitsi_meeting !== undefined ? input.create_jitsi_meeting : true,
}; };

View File

@ -37,12 +37,11 @@ export type CreateAppointmentInput = z.infer<typeof createAppointmentSchema>;
// Schedule Appointment Schema (Admin only) // Schedule Appointment Schema (Admin only)
// Supports two scheduling methods: // Supports two scheduling methods:
// 1. Direct datetime: scheduled_datetime + scheduled_duration + timezone // 1. Direct datetime: scheduled_datetime + scheduled_duration
// 2. Date and slot: date_str + time_slot + scheduled_duration // 2. Date and slot: date_str + time_slot + scheduled_duration
export const scheduleAppointmentSchema = z.object({ export const scheduleAppointmentSchema = z.object({
scheduled_datetime: z.string().datetime("Invalid datetime format").optional(), scheduled_datetime: z.string().datetime("Invalid datetime format").optional(),
scheduled_duration: z.number().int().positive().optional(), scheduled_duration: z.number().int().positive().optional(),
timezone: z.string().optional(),
date_str: z.string().regex(/^\d{4}-\d{2}-\d{2}$/, "Date must be in YYYY-MM-DD format").optional(), date_str: z.string().regex(/^\d{4}-\d{2}-\d{2}$/, "Date must be in YYYY-MM-DD format").optional(),
time_slot: z.enum(["morning", "afternoon", "evening"]).optional(), time_slot: z.enum(["morning", "afternoon", "evening"]).optional(),
create_jitsi_meeting: z.boolean().optional(), create_jitsi_meeting: z.boolean().optional(),