aboutsummaryrefslogtreecommitdiff
path: root/src/graduation-common.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/graduation-common.ts')
-rw-r--r--src/graduation-common.ts17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/graduation-common.ts b/src/graduation-common.ts
index ca4efde..3c90e34 100644
--- a/src/graduation-common.ts
+++ b/src/graduation-common.ts
@@ -16,7 +16,7 @@ const LEVEL_IMAGES = [
];
interface CoachMapping {
- [studentId: number]: string;
+ [studentId: number]: Array<string>;
}
class GraduationChange {
@@ -115,7 +115,7 @@ class GraduationChange {
class Graduation {
student: Student;
- coach: string = "";
+ coaches: Array<string> = [];
green: number = 0;
orange: number = 0;
red: number = 0;
@@ -168,7 +168,7 @@ class Graduation {
case "CoachZuweisung":
// Reset the effective marks
if (this.student.id in change.context.zuweisungen)
- this.coach = change.context.zuweisungen[this.student.id];
+ this.coaches = change.context.zuweisungen[this.student.id];
break;
default:
@@ -185,7 +185,7 @@ class Graduation {
removeChange(change: GraduationChange) {
let changes: Array<GraduationChange> = this.changes;
// Reset the graduation
- this.coach = "";
+ this.coaches = [];
this.green = 0;
this.orange = 0;
this.red = 0;
@@ -222,16 +222,17 @@ class Graduation {
}
}
-async function submitGraduationChange(graduation: Graduation, change: GraduationChange) {
- graduation.addChange(change);
+async function submitGraduationChange(change: GraduationChange, graduation?: Graduation) {
+ if (typeof graduation !== "undefined") graduation.addChange(change);
+
const db = await getGraduationDb();
- return db.saveEntry(JSON.stringify(change.dbFields()));
+ return await db.saveEntry(JSON.stringify(change.dbFields()));
}
async function deleteGraduationChange(graduation: Graduation, change: GraduationChange) {
graduation.removeChange(change);
const db = await getGraduationDb();
- return db.deleteEntries([change.changeId]);
+ return await db.deleteEntries([change.changeId]);
}
export {