diff --git a/src/pages/api/assignments/[id]/export.tsx b/src/pages/api/assignments/[id]/export.tsx index 5d8a3397..d38be031 100644 --- a/src/pages/api/assignments/[id]/export.tsx +++ b/src/pages/api/assignments/[id]/export.tsx @@ -154,9 +154,10 @@ async function post(req: NextApiRequest, res: NextApiResponse) { return {...e, bandScore}; }); - const moduleResults = data.exams.map(({module}) => { + // in order to make sure we are using unique modules, generate the set based on them + const uniqueModules = [...new Set(flattenResults.map(item => item.module))] as Module[]; + const moduleResults = uniqueModules.map((module) => { const moduleResults = flattenResultsWithGrade.filter((e) => e.module === module); - const baseBandScore = moduleResults.reduce((accm, curr) => accm + curr.bandScore, 0) / moduleResults.length; const bandScore = isNaN(baseBandScore) ? 0 : baseBandScore; const {correct, total} = getScoreAndTotal(moduleResults);