import { createLabResult } from '$lib/api'; import { getSessionApiOptions } from '$lib/server/api'; import { fail, redirect } from '@sveltejs/kit'; import type { Actions, PageServerLoad } from './$types'; export const load: PageServerLoad = async () => { return {}; }; export const actions: Actions = { default: async (event) => { const form = await event.request.formData(); const collected_at = form.get('collected_at') as string; const test_code = form.get('test_code') as string; const test_name_original = form.get('test_name_original') as string; const value_num = form.get('value_num') as string; const unit_original = form.get('unit_original') as string; const flag = form.get('flag') as string; const lab = form.get('lab') as string; if (!collected_at || !test_code) { return fail(400, { error: 'Date and test code are required' }); } const body: Record = { collected_at, test_code }; if (test_name_original) body.test_name_original = test_name_original; if (value_num) body.value_num = Number(value_num); if (unit_original) body.unit_original = unit_original; if (flag) body.flag = flag; if (lab) body.lab = lab; try { await createLabResult(body, getSessionApiOptions(event)); } catch (error) { return fail(500, { error: (error as Error).message }); } redirect(303, '/health/lab-results'); } };