// quiz-up.ts import { define } from "../../utils.ts"; import { upsertKvQuizAny } from "../../utils/QuizDataClient.ts"; import { KvObj, QuizConfig } from "../../utils/types.ts"; import { normalizeQuizMedia } from "../../utils/normalizeQuestionMedia.ts"; export const handler = define.handlers({ async POST(ctx) { const req = ctx.req; try { const data = await req.text(); // Read the request body as text const quizData: KvObj = JSON.parse(data) as KvObj; // Parse as JSON // Normalize media URLs before saving (awaited properly) // if (quizData.value?.questions) { // await normalizeQuizMedia(quizData.value.questions); // } const response = await upsertKvQuizAny(quizData); return new Response(JSON.stringify(response), { status: 201 }); // Created } catch (err) { console.error(err); return new Response("Failed to create quiz", { status: 500 }); } }, });