import type { APIRoute } from "astro"; import { writeFile } from "node:fs/promises"; import { join } from "node:path"; const DATA_ROOT = join(process.env.REPO_ROOT ?? "/Users/ace/palacering", "palaces", "manglasabang", "palaceappsdata", "palacetravel"); export const POST: APIRoute = async ({ request }) => { const url = new URL(request.url); const tripId = url.searchParams.get("tripId"); if (!tripId || tripId.includes("..")) { return new Response("Bad request", { status: 400 }); } try { const body = await request.json(); const filePath = join(DATA_ROOT, tripId, "pack-state.json"); await writeFile(filePath, JSON.stringify(body, null, 2)); return new Response(JSON.stringify({ ok: true }), { headers: { "Content-Type": "application/json" }, }); } catch (e) { return new Response(JSON.stringify({ error: String(e) }), { status: 500 }); } };