feat: actually sum for duplicate semesters (different uniques) (#202)

This commit is contained in:
Samuel Gunter
2024-03-25 19:41:33 -05:00
committed by GitHub
parent 8e79d6a6a8
commit d3f64ec79e

View File

@@ -118,10 +118,29 @@ export async function querySemesterDistribution(course: Course, semester: Semest
throw new NoDataError(course); throw new NoDataError(course);
} }
let row: Required<CourseSQLRow> = {} as Required<CourseSQLRow>; const row: Required<CourseSQLRow> = {} as Required<CourseSQLRow>;
res.columns.forEach((col, i) => { for (let i = 0; i < res.columns.length; i++) {
row[col as keyof CourseSQLRow] = res.values[0]![i]! as never; const col = res.columns[i] as keyof CourseSQLRow;
}); switch (col) {
case 'A':
case 'A_Minus':
case 'B_Plus':
case 'B':
case 'B_Minus':
case 'C_Plus':
case 'C':
case 'C_Minus':
case 'D_Plus':
case 'D':
case 'D_Minus':
case 'F':
case 'Other':
row[col] = res.values.reduce((acc, cur) => acc + (cur[i] as number), 0) as never;
break;
default:
row[col] = res.columns[i]![0]! as never;
}
}
return { return {
A: row.A, A: row.A,