# Endpoints Im folgenden werden diverse Http-Schnittstellen zur Kommunikation zwischen Frontend und Backend beschrieben. Zusäzlich ist angegeben, für welche Benutzerrollen die jeweiligen Funktionen zu Verfügung steht. --- ### Login - POST login - Parameter - Username string - Password string - POST logout ### Übersichtsseite (Dozent und Verwaltung) - GET screens - Liefert alle erlaubten Ansichten für einen User zurück - Liefert Array - Screen string ### Wochenübersicht (Dozent) - GET weekly_overview - Liefert alle Unterrichtseinheiten für die nächsten 7 Tage - Liefert Array ### Kursübericht [besser Kursdetails] (Dozent und Verwaltung) - GET course_detail - Liefert alle Informationen zu einem Kurs - Paramter - KursID string - Liefert object - KursID string - DozentID string - DozentName string - Unterrichtseinheiten Array - StartZeit DateTime - Students Array - StudentID string - StudentName string - GET course_contents - Liefert alle eingetragenen Inhalten zum Kurs - Parameter - KursID string - PUT new_course_content - Inhalt der letzten UE wird gesetzt - Parameter - KursID string - Content string ### Welcher Lehrer Welcher Kurs (Verwaltung) - GET course_teacher_match - Liefert Array - KursID string - KursName string - DozentID string - DozentName string ### Welche Schüler Welcher Kurs (Verwaltung) - GET course_student_match - Liefert Array - KursID string - KursName string - DozentID string - DozentName string ### Lehrerübersicht (Verwaltung) - GET all_teachers - Liefert alle Dozenten - Liefert Array - DozentID string - DozentName string ### Schüler von Lehrer (Dozent und Verwaltung) - GET students_of_teacher - Parameter DozentID - Liefert Array - StundentID string - StudentName string ### Raumübersicht (Verwaltung) - GET rooms - Liefert alle verfügbaren Räume, inkl. der vorhandenen Instrumente - Liefert Array - RaumID string - RaumName string - Belegt bool - Instrumente Array - InstrumentID string - InstrumentName string - PUT create_rooms - Parameter - RaumName string - Instrumente Array - InstrumentID string ### Raumdetails (Verwaltung) - GET room_free - Liefert alle aktuell freien Räumen - Parameter - RaumID string - Liefert object - Belegt bool - GET room_details - Liefert Daten zu einem Raum - Paramter - RaumID string - Liefert - RaumID string - RaumName string - Belegt true - Instrumente Array - InstrumentID string - InstrumentName string - Vorhanden bool - GET lessons - Liefert alle Unterrichtszeiten in einem Raum - Parameter - RaumID string - Liefert Array - StartZeit DateTime ### Kurs Erstellen [Person + Kurs] (Verwaltung) - POST get_capable_teachers - Liefert alle Dozenten, die einen bestimmten Kurs leiten können - Parameter - Typ string - Instrumente Array - InstrumentID string - Liefert Array - DozentID string - DozentName string - POST get_cross_referenced_rooms - Parameter - Typ string - Instrumente Array - InstrumentID string - DozentID string - Liefert Array - RaumID string - Zeiten Array - Zeit DateTime - POST create_person - Erstellt eine Person - Parameter - Name string - Vorname string - IstErmaessigt bool - Geburtsdatum DateTime - Geburtsort string - PLZ string - Ort string - StrasseHNR string - Bankname string - BLZ string - KontoNr string - Liefert object - StudentID string - POST create_course - Erstellt einen Kurs - Parameter - Typ string - Instrumente Array - InstrumentID string - DonzentID string - Unterrichtseinheiten Array - Zeit int - POST enroll_student - Ordnet einen Schueler einem Kurs zu - Parameter - KursID string - StudentID string ### Aufnahmeantrag (Anonymous) - POST aufnahmeantrag - Parameter - Name string - Vorname string - IstErmaessigt bool - Geburtsdatum DateTime - Geburtsort string - PLZ string - Ort string - StrasseHNR string - Bankname string - BLZ string - KontoNr string - Typ string - Instrumente Array - InstrumentID string - Laufzeit - KursID string ### Instrumente (Anonymous) - GET instruments - Liefert Instrumente Array - InstrumentID string - InstrumentName string