feat: actually sum for duplicate semesters (different uniques) (#202)
This commit is contained in:
@@ -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,
|
||||||
|
|||||||
Reference in New Issue
Block a user