diff --git a/src/app/admin/quizzes/[quizId]/page.tsx b/src/app/admin/quizzes/[quizId]/page.tsx index 38dd934..6dd4b70 100644 --- a/src/app/admin/quizzes/[quizId]/page.tsx +++ b/src/app/admin/quizzes/[quizId]/page.tsx @@ -13,20 +13,13 @@ export default async function AdminQuizAttemptsPage({ params }: Props) { where: { id: quizId }, include: { questions: { orderBy: { order: "asc" } }, - attempts: { - orderBy: { completedAt: "desc" }, - include: { - user: { select: { name: true, email: true } }, - }, - }, + attempts: { orderBy: { completedAt: "desc" } }, lesson: { select: { - id: true, title: true, module: { select: { - id: true, - course: { select: { id: true, title: true } }, + course: { select: { title: true } }, }, }, }, @@ -36,8 +29,12 @@ export default async function AdminQuizAttemptsPage({ params }: Props) { if (!quiz) notFound(); - const courseId = quiz.lesson.module.course.id; - const moduleId = quiz.lesson.module.id; + const userIds = [...new Set(quiz.attempts.map((a) => a.userId))]; + const users = await prisma.user.findMany({ + where: { id: { in: userIds } }, + select: { id: true, name: true, email: true }, + }); + const userMap = Object.fromEntries(users.map((u) => [u.id, u])); return (
{attempt.user.name}
+{user?.name ?? "—"}
- {attempt.user.email} + {user?.email ?? attempt.userId}