Pull Request branch dev-clone to main #1

Merged
gitea merged 429 commits from dev-clone into main 2024-12-23 09:31:34 +00:00
Showing only changes of commit f3eaf16df8 - Show all commits

View File

@ -393,6 +393,7 @@ const assessmentsRoute = new Hono<HonoEnv>()
.select({ .select({
id: answers.id, id: answers.id,
assessmentId: answers.assessmentId, assessmentId: answers.assessmentId,
questionId: options.questionId,
optionId: answers.optionId, optionId: answers.optionId,
isFlagged: answers.isFlagged, isFlagged: answers.isFlagged,
filename: answers.filename, filename: answers.filename,
@ -400,6 +401,7 @@ const assessmentsRoute = new Hono<HonoEnv>()
fullCount: totalCountQuery, fullCount: totalCountQuery,
}) })
.from(answers) .from(answers)
.leftJoin(options, eq(answers.optionId, options.id))
.where( .where(
and( and(
eq(answers.assessmentId, assessmentId), // Filter by assessmentId eq(answers.assessmentId, assessmentId), // Filter by assessmentId
@ -434,24 +436,22 @@ const assessmentsRoute = new Hono<HonoEnv>()
checkPermission("assessments.readAnswers"), checkPermission("assessments.readAnswers"),
async (c) => { async (c) => {
const assessmentId = c.req.param("assessmentId"); // Retrieve assessmentId from the URL const assessmentId = c.req.param("assessmentId"); // Retrieve assessmentId from the URL
// if (!assessmentId) { // Query to retrieve answers for the specific assessmentId, including the associated questionId
// return c.json({ error: "assessmentId is required" }, 400);
// }
// Query to retrieve answers for the specific assessmentId
const result = await db const result = await db
.select({ .select({
id: answers.id, id: answers.id,
assessmentId: answers.assessmentId, assessmentId: answers.assessmentId,
questionId: options.questionId, // Get the questionId from the options table
optionId: answers.optionId, optionId: answers.optionId,
isFlagged: answers.isFlagged, isFlagged: answers.isFlagged,
filename: answers.filename, filename: answers.filename,
validationInformation: answers.validationInformation, validationInformation: answers.validationInformation,
}) })
.from(answers) .from(answers)
.leftJoin(options, eq(answers.optionId, options.id)) // Join with the options table
.where(eq(answers.assessmentId, assessmentId)); // Filter by assessmentId .where(eq(answers.assessmentId, assessmentId)); // Filter by assessmentId
return c.json({ return c.json({
data: result, data: result,
}); });