From f3eaf16df89c7c64a249ae41647dccb256952633 Mon Sep 17 00:00:00 2001 From: falendikategar Date: Thu, 7 Nov 2024 11:23:37 +0700 Subject: [PATCH] update: add questionId to getAnswers and getAllAnswers endpoints in assessments --- apps/backend/src/routes/assessments/route.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/apps/backend/src/routes/assessments/route.ts b/apps/backend/src/routes/assessments/route.ts index 142d6f6..a720084 100644 --- a/apps/backend/src/routes/assessments/route.ts +++ b/apps/backend/src/routes/assessments/route.ts @@ -393,6 +393,7 @@ const assessmentsRoute = new Hono() .select({ id: answers.id, assessmentId: answers.assessmentId, + questionId: options.questionId, optionId: answers.optionId, isFlagged: answers.isFlagged, filename: answers.filename, @@ -400,6 +401,7 @@ const assessmentsRoute = new Hono() fullCount: totalCountQuery, }) .from(answers) + .leftJoin(options, eq(answers.optionId, options.id)) .where( and( eq(answers.assessmentId, assessmentId), // Filter by assessmentId @@ -434,24 +436,22 @@ const assessmentsRoute = new Hono() checkPermission("assessments.readAnswers"), async (c) => { const assessmentId = c.req.param("assessmentId"); // Retrieve assessmentId from the URL - - // if (!assessmentId) { - // return c.json({ error: "assessmentId is required" }, 400); - // } - - // Query to retrieve answers for the specific assessmentId + + // Query to retrieve answers for the specific assessmentId, including the associated questionId const result = await db .select({ id: answers.id, assessmentId: answers.assessmentId, + questionId: options.questionId, // Get the questionId from the options table optionId: answers.optionId, isFlagged: answers.isFlagged, filename: answers.filename, validationInformation: answers.validationInformation, }) .from(answers) + .leftJoin(options, eq(answers.optionId, options.id)) // Join with the options table .where(eq(answers.assessmentId, assessmentId)); // Filter by assessmentId - + return c.json({ data: result, });