update: revision for getAllQuestion to add needFile

This commit is contained in:
abiyasa05 2024-10-10 15:26:45 +07:00
parent 8a97277d00
commit f86b69769d

View File

@ -214,6 +214,7 @@ const assessmentsRoute = new Hono<HonoEnv>()
questionText: string | null;
optionId: string;
optionText: string;
needFile: boolean | null;
optionScore: number;
fullCount?: number;
};
@ -238,6 +239,7 @@ const assessmentsRoute = new Hono<HonoEnv>()
questionText: questions.question,
optionId: options.id,
optionText: options.text,
needFile: questions.needFile,
optionScore: options.score,
fullCount: totalCountQuery,
})
@ -251,6 +253,7 @@ const assessmentsRoute = new Hono<HonoEnv>()
type GroupedQuestion = {
questionId: string | null;
questionText: string | null;
needFile: boolean | null;
aspectsId: string | null;
aspectsName: string | null;
subAspectId: string | null;
@ -264,7 +267,7 @@ const assessmentsRoute = new Hono<HonoEnv>()
// Mengelompokkan berdasarkan questionId
const groupedResult: GroupedQuestion[] = result.reduce((acc, current) => {
const { questionId, questionText, aspectsId, aspectsName, subAspectId, subAspectName, optionId, optionText, optionScore } = current;
const { questionId, questionText, needFile, aspectsId, aspectsName, subAspectId, subAspectName, optionId, optionText, optionScore } = current;
// Cek apakah questionId sudah ada dalam accumulator
const existingQuestion = acc.find(q => q.questionId === questionId);
@ -281,6 +284,7 @@ const assessmentsRoute = new Hono<HonoEnv>()
acc.push({
questionId,
questionText,
needFile,
aspectsId,
aspectsName,
subAspectId,
@ -632,6 +636,7 @@ const assessmentsRoute = new Hono<HonoEnv>()
const averageScores = await db
.select({
aspectId: subAspects.aspectId,
subAspectId: subAspects.id,
subAspectName: subAspects.name,
average: sql`AVG(options.score)`
@ -649,7 +654,8 @@ const assessmentsRoute = new Hono<HonoEnv>()
subAspects: averageScores.map(score => ({
subAspectId: score.subAspectId,
subAspectName: score.subAspectName,
averageScore: score.average
averageScore: score.average,
aspectId: score.aspectId
}))
});
}