diff --git a/apps/backend/src/routes/assessments/route.ts b/apps/backend/src/routes/assessments/route.ts index a720084..a319cb5 100644 --- a/apps/backend/src/routes/assessments/route.ts +++ b/apps/backend/src/routes/assessments/route.ts @@ -381,13 +381,13 @@ const assessmentsRoute = new Hono() ), async (c) => { const { assessmentId, page, limit, q } = c.req.valid("query"); - + // Query to count total answers for the specific assessmentId const totalCountQuery = sql`(SELECT count(*) FROM ${answers} WHERE ${answers.assessmentId} = ${assessmentId})`; - + // Query to retrieve answers for the specific assessmentId const result = await db .select({ @@ -416,9 +416,17 @@ const assessmentsRoute = new Hono() ) .offset(page * limit) .limit(limit); - + + // Format the result to return an object where questionId is the key and optionId is the value + const formattedResult = result.reduce((acc, item) => { + if (item.questionId != null && item.optionId != null) { + acc[item.questionId] = item.optionId; + } + return acc; + }, {} as Record); // Type assertion to ensure the accumulator is an object with string keys and values + return c.json({ - data: result.map((d) => ({ ...d, fullCount: undefined })), + data: formattedResult, _metadata: { currentPage: page, totalPages: Math.ceil( @@ -429,7 +437,7 @@ const assessmentsRoute = new Hono() }, }); } - ) + ) .get( "/getAllAnswers/:assessmentId", // Use :assessmentId in the URL path