From 39bb772422fcd7db83355c6887122c8bbf323352 Mon Sep 17 00:00:00 2001 From: falendikategar Date: Thu, 7 Nov 2024 09:36:10 +0700 Subject: [PATCH] update: penambahan endpoint getAllAnswers di assessments --- apps/backend/src/routes/assessments/route.ts | 29 ++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/apps/backend/src/routes/assessments/route.ts b/apps/backend/src/routes/assessments/route.ts index 7bd7f0c..e6cf5bc 100644 --- a/apps/backend/src/routes/assessments/route.ts +++ b/apps/backend/src/routes/assessments/route.ts @@ -429,6 +429,35 @@ const assessmentsRoute = new Hono() } ) + .get( + "/getAllAnswers/:assessmentId", // Use :assessmentId in the URL path + 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 + const result = await db + .select({ + id: answers.id, + assessmentId: answers.assessmentId, + optionId: answers.optionId, + isFlagged: answers.isFlagged, + filename: answers.filename, + validationInformation: answers.validationInformation, + }) + .from(answers) + .where(eq(answers.assessmentId, assessmentId)); // Filter by assessmentId + + return c.json({ + data: result, + }); + } + ) + // Toggles the isFlagged field between true and false .patch( "/:questionId/toggleFlag",