import { fail } from '@sveltejs/kit'; import type { Actions, PageServerLoad } from './$types'; import { requireUser } from '#lib/server/auth.js'; import { captureInbox, listPieces } from '#lib/server/content.js'; export const load: PageServerLoad = ({ locals }) => { requireUser(locals.user); return { pieces: listPieces({ statuses: ['inbox'] }) }; }; export const actions = { capture: async ({ locals, request }) => { requireUser(locals.user); const data = await request.formData(); try { const id = captureInbox(String(data.get('title') || ''), String(data.get('url') || '')); return { captured: true, capturedId: id }; } catch (cause) { const code = cause instanceof Error ? cause.message : ''; return fail(400, { title: String(data.get('title') || ''), url: String(data.get('url') || ''), error: code === 'INVALID_SOURCES' ? 'Bitte eine vollständige HTTP- oder HTTPS-Adresse eingeben.' : 'Ein Titel ist erforderlich.' }); } } } satisfies Actions;