Revisione/server/api/topics/[id]/lesson.get.ts

19 lines
683 B
TypeScript

import { db } from "../../../db/index";
import { topics, lessons } from "../../../db/schema";
import { eq } from "drizzle-orm";
export default defineEventHandler(async (event) => {
const id = getRouterParam(event, "id")!;
const topic = await db.query.topics.findFirst({ where: eq(topics.id, id) });
if (!topic) throw createError({ statusCode: 404, message: "Topic not found" });
const lesson = await db.query.lessons.findFirst({ where: eq(lessons.topicId, id) });
if (!lesson) throw createError({ statusCode: 404, message: "Lesson not yet generated" });
return {
...lesson,
content: JSON.parse(lesson.content),
branchStatus: lesson.branchStatus,
};
});