forApplet method
Implementation
AppletParser<dynamic> forApplet(String phpUrl) {
final known = Applets.all.any((a) => a.appletPhpUrl == phpUrl);
if (!known) {
throw UnknownException('Unknown applet: $phpUrl');
}
if (phpUrl == Applets.lessons.appletPhpUrl) {
final type = _ctx.account.accountType ?? _ctx.session.accountTypeOrNull;
if (type == AccountType.teacher) return lessonsTeacher;
return lessonsStudent;
}
return switch (phpUrl) {
'vertretungsplan.php' => substitutions,
'stundenplan.php' => timetable,
'kalender.php' => calendar,
'nachrichten.php' => conversations,
'dateispeicher.php' => dataStorage,
'lerngruppen.php' => studyGroups,
_ => throw UnknownException('Unknown applet: $phpUrl'),
};
}