import { db } from "../../../db/index"; import { courses } from "../../../db/schema"; import { eq } from "drizzle-orm"; import { generateCourseInBackground } from "../../../utils/generateCourse"; export default defineEventHandler(async (event) => { const id = getRouterParam(event, "id")!; const course = await db.query.courses.findFirst({ where: eq(courses.id, id) }); if (!course) throw createError({ statusCode: 404, message: "Course not found" }); await db.update(courses).set({ status: "processing", stage: "parsing_pdfs" }).where(eq(courses.id, id)); // fire and forget — response returns immediately console.log(`[revisione:${id.slice(0, 8)}] background generation triggered for "${course.title}"`); generateCourseInBackground(id).catch(() => {}); setResponseStatus(event, 202); return { message: "Course generation started" }; });