import { serverSupabaseClient } from "#supabase/server"; import { z } from "zod" import type { CalendarEvent } from "~/models/CalendarEvent"; const querySchema = z.object({ calendarId: z.number({ coerce: true }).positive().int() }) export default defineEventHandler(async (event) => { const client = await serverSupabaseClient(event) const query = await getValidatedQuery(event, querySchema.parse) const output = client .from("calendar_events") .select(` id, title, description, location, startDate:start_date, endDate:end_date, wiki, category:calendar_event_categories!calendar_events_category_fkey (*), secondaryCategories:calendar_event_categories!calendar_event_categories_links (*) `) if (query.calendarId) { output.eq("calendar_id", query.calendarId) } return output.returns() })