import { error, redirect } from '@sveltejs/kit'; import { env } from '$env/dynamic/private'; import { createApiClient } from '$lib/api.server'; import { getErrorMessage } from '$lib/errors'; export async function load({ params, fetch }) { const { id } = params; const api = createApiClient(fetch); const base = env.API_INTERNAL_URL || 'http://localhost:8080'; const [docResult, commentsRes] = await Promise.all([ api.GET('/api/documents/{id}', { params: { path: { id } } }), fetch(`${base}/api/documents/${id}/comments`).catch(() => null) ]); if (docResult.response.status === 401) throw redirect(302, '/login'); if (!docResult.response.ok) { const code = (docResult.error as unknown as { code?: string })?.code; throw error(docResult.response.status, getErrorMessage(code)); } let comments: unknown[] = []; if (commentsRes?.ok) { try { comments = await commentsRes.json(); } catch { // ignore invalid response } } return { document: docResult.data!, comments }; }