forApplet method

AppletParser forApplet(
  1. String phpUrl
)

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'),
  };
}