Files
root-org/src/routes/[orgSlug]/events/+page.server.ts

30 lines
914 B
TypeScript

import { error } from '@sveltejs/kit';
import type { PageServerLoad } from './$types';
import { fetchEvents } from '$lib/api/events';
import { createLogger } from '$lib/utils/logger';
const log = createLogger('page.events');
export const load: PageServerLoad = async ({ params, locals, url }) => {
const { session, user } = await locals.safeGetSession();
if (!session || !user) error(401, 'Unauthorized');
const { data: org } = await locals.supabase
.from('organizations')
.select('id')
.eq('slug', params.orgSlug)
.single();
if (!org) error(404, 'Organization not found');
const statusFilter = url.searchParams.get('status') || 'all';
try {
const events = await fetchEvents(locals.supabase, org.id, statusFilter);
return { events, statusFilter };
} catch (e: any) {
log.error('Failed to load events', { error: e, data: { orgId: org.id } });
return { events: [], statusFilter };
}
};