aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2026-09-27 18:47:54 +0200
committerFlorian Fischer <florian.fischer@muhq.space>2026-09-27 18:47:54 +0200
commit20c1c0782bae0a10d1774f919e6381b5df44d207 (patch)
treecba8e340c1c4c2068fca8f747087582536c9a275
parent1f458004ee2a018cff176c9939a9e8b03425dbfa (diff)
downloadbycs-sol-20c1c0782bae0a10d1774f919e6381b5df44d207.tar.gz
bycs-sol-20c1c0782bae0a10d1774f919e6381b5df44d207.zip
admin-tools: allow wildcard coach assignment
-rw-r--r--src/admin-tools.js19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/admin-tools.js b/src/admin-tools.js
index bcbbcbc..f598c35 100644
--- a/src/admin-tools.js
+++ b/src/admin-tools.js
@@ -1,5 +1,5 @@
import { GraduationChange, submitGraduationChange } from "./graduation-ENV.ts";
-import { fetchStudent } from "./student-ENV.ts";
+import { fetchStudent, fetchStudents } from "./student-ENV.ts";
let outputNode;
function output(msg) {
@@ -18,12 +18,19 @@ async function coachAssignmentImport() {
for (const line of csv.split("\n")) {
const [studentName, ...coaches] = line.trim().split(";");
- const student = await fetchStudent(undefined, studentName);
- if (student === null) {
- output(`${studentName} nicht gefunden`);
- continue;
+ if (studentName === "*") {
+ const students = await fetchStudents();
+ for (const student of students) {
+ assignments[student.id] = coaches;
+ }
+ } else {
+ const student = await fetchStudent(undefined, studentName);
+ if (student === null) {
+ output(`${studentName} nicht gefunden`);
+ continue;
+ }
+ assignments[student.id] = coaches;
}
- assignments[student.id] = coaches;
}
const assignmentChange = GraduationChange.newCoachAssignmentChange(assignments);