normal
Zum Hauptinhalt springen

Planer

In diese Kategorie fällt alles, was mit dem Stundenplan oder dem Terminkalender zu tun hat. Dabei ist der Stundenplan ein semesterabhängiger Wochenplan, der wöchentlich wiederkehrende Termine enthält, die entweder selbst eingetragen wurden oder aufgrund von besuchten Veranstaltungen dort hinein gelangen.

Schemata

Schema "calendar-events"

Ressourcen dieses Typs sind selbst in den Terminkalender eingetragene Termine.

Attribute

AttributBeschreibung
titleder Titel des Eintrags
descriptiondie Beschreibung des Eintrags
startder Beginn des Eintrags (ISO 8601)
enddas Ende des Eintrag (ISO 8601)
categoriesdie Kategorie des Eintrags (als String)
locationder Ort des Eintrags
mkdatedas Erstellungsdatum des Eintrags
chdatedas Datum der letzten Änderung des Eintrags
recurrenceInformationen über Wiederholungen des Eintrags

Relationen

RelationBeschreibung
ownerder Nutzer, der den Eintrag erstellt hat

Schema "course-events"

Ressourcen dieses Typs repräsentieren einmalige Termine von belegten Veranstaltungen.

Attribute

AttributBeschreibung
titleder Titel des Eintrags
descriptiondie Beschreibung des Eintrags
startder Beginn des Eintrags (ISO 8601)
enddas Ende des Eintrag (ISO 8601)
categoriesdie Kategorie des Eintrags (als String)
locationder Ort des Eintrags
mkdatedas Erstellungsdatum des Eintrags
chdatedas Datum der letzten Änderung des Eintrags
recurrenceInformationen über Wiederholungen des Eintrags

Relationen

RelationBeschreibung
ownerdie Veranstaltung, zu der der Eintrag gehört

Schema "schedule-entries"

Ressourcen dieses Typs stellen Einträge in den Stundenplan dar, die ein Nutzer selbst eingetragen hat.

Attribute

AttributBeschreibung
titleder Titel des Eintrags
descriptiondie Beschreibung des Eintrags
startdie Uhrzeit des Beginns des Eintrags ("hh:mm")
enddie Uhrzeit des Endes des Eintrags ("hh:mm")
weekdayder Wochentag des Eintrags (0-6)
colordie Farbe des Eintrags ("#rrggbb")

Relationen

RelationBeschreibung
ownerder Nutzer, der den Eintrag erstellt hat

Schema "seminar-cycle-dates"

Ressourcen dieses Typs stellen Einträge in den Stundenplan dar, die sich aus den regelmäßigen Terminen einer Veranstaltung zusammensetzen.

Attribute

AttributBeschreibung
titleder Titel des Eintrags
descriptiondie Beschreibung des Eintrags
startdie Uhrzeit des Beginns des Eintrags ("hh:mm")
enddie Uhrzeit des Endes des Eintrags ("hh:mm")
weekdayder Wochentag des Eintrags (0-6)
recurrenceInformationen über Wiederholungen des Eintrags
locationsalle Orte, an denen dieser Eintrag stattfindet

Relationen

RelationBeschreibung
ownerdie Veranstaltung, zu der der Eintrag gehört

Alle Kalendereinträge auslesen

curl --request GET \
--url https://example.com/users/<ID>/events \
--header "Authorization: Basic `echo -ne "test_autor:testing" | base64`"

Mit dieser Route kann der Kalender des Nutzer abgefragt werden. Ohne weitere Parameter werden alle Einträge der nächsten zwei Wochen zurück geliefert.

HTTP Request

GET /users/{id}/events

ParameterBeschreibung
iddie ID des Nutzers

URL-Parameter

ParameterBeschreibung
filter[timestamp]Startzeitpunkt der gelieferten Kalendereinträge (als Sekunden seit dem 01.01.1970)

Wenn "filter[timestamp]" nicht gesetzt ist, werden alle Kalendereinträge der nächsten zwei Wochen zurück geliefert.

Mittels "filter[timestamp]" kann dieser Startzeitpunkt verändert werden. Es werden jedoch immer Kalendereinträge der nächsten zwei Wochen ausgeliefert.

Autorisierung

Jeder Nutzer darf diese Route für sich selbst verwenden. Andere Nutzer haben nur Zugriff auf ihre eigenen Kalender.

Alle Kalendereinträge (iCalendar)

gefahr

Diese Route ist keine JSON-API-konforme Route.

curl --request GET \
--url https://example.com/users/<ID>/events.ics \
--header "Authorization: Basic `echo -ne "test_autor:testing" | base64`"

Mit dieser Route kann der Kalender des Nutzer abgefragt werden. Die Daten werden im iCalendar-Datenformat ausgeliefert. Es werden alle Kalendereinträge zurück gegeben.

HTTP Request

GET /users/{id}/events.ics

ParameterBeschreibung
iddie ID des Nutzers

URL-Parameter

keine URL-Parameter

Autorisierung

Jeder Nutzer darf diese Route für sich selbst verwenden. Andere Nutzer haben nur Zugriff auf ihre eigenen Kalender.

Alle Termine einer Veranstaltung

curl --request GET \
--url https://example.com/courses/<ID>/events \
--header "Authorization: Basic `echo -ne "test_autor:testing" | base64`"

Mit dieser Route können alle Termine einer Veranstaltung abgefragt werden.

HTTP Request

GET /courses/{id}/events

ParameterBeschreibung
iddie ID der Veranstaltung

URL-Parameter

ParameterDefaultBeschreibung
page[offset]0der Offset (siehe Paginierung)
page[limit]30das Limit (siehe Paginierung)

Autorisierung

Die Termine einer Veranstaltung sind für alle Teilnehmenden sichtbar.

Stundenplan auslesen

curl --request GET \
--url https://example.com/users/<ID>/schedule \
--header "Authorization: Basic `echo -ne "test_autor:testing" | base64`"

Mit dieser Route kann man seinen Stundenplan abfragen. Wird kein filter-Parameter angegeben, wird der Stundenplan des aktuellen Semesters ausgeliefert.

HTTP Request

GET /users/{id}/schedule

ParameterBeschreibung
iddie ID des Nutzers

URL-Parameter

ParameterDefaultBeschreibung
filter[timestamp]Beginn des aktuellen SemestersStartzeitpunkt des gewünschten Semesters (in Sekunden seit 01.01.1970)

Autorisierung

Nur der eigene Stundenplan kann ausgelesen werden.

Eigene Stundenplaneinträge

curl --request GET \
--url https://example.com/schedule-entries/<ID> \
--header "Authorization: Basic `echo -ne "test_autor:testing" | base64`"

Mit dieser Route kann man einen einzelnen, selbst verfassten Eintrag in den Stundenplan auslesen.

HTTP Request

GET /schedule-entries/{id}

ParameterBeschreibung
iddie ID des Eintrags

URL-Parameter

keine URL-Parameter

Autorisierung

Nur der Nutzer, der den Eintrag verfasst hat, darf den Eintrag auch auslesen.

Regelmäßige Veranstaltungstermine auslesen

curl --request GET \
--url https://example.com/seminar-cycle-dates/<ID> \
--header "Authorization: Basic `echo -ne "test_autor:testing" | base64`"

Beschreibung

HTTP Request

GET /seminar-cycle-dates/{id}

ParameterBeschreibung
iddie ID des Termins

URL-Parameter

keine URL-Parameter

Autorisierung

Alle Teilnehmenden einer Veranstaltung können den Termin sehen.