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
| Attribut | Beschreibung |
|---|---|
| title | der Titel des Eintrags |
| description | die Beschreibung des Eintrags |
| start | der Beginn des Eintrags (ISO 8601) |
| end | das Ende des Eintrag (ISO 8601) |
| categories | die Kategorie des Eintrags (als String) |
| location | der Ort des Eintrags |
| mkdate | das Erstellungsdatum des Eintrags |
| chdate | das Datum der letzten Änderung des Eintrags |
| recurrence | Informationen über Wiederholungen des Eintrags |
Relationen
| Relation | Beschreibung |
|---|---|
| owner | der Nutzer, der den Eintrag erstellt hat |
Schema "course-events"
Ressourcen dieses Typs repräsentieren einmalige Termine von belegten Veranstaltungen.
Attribute
| Attribut | Beschreibung |
|---|---|
| title | der Titel des Eintrags |
| description | die Beschreibung des Eintrags |
| start | der Beginn des Eintrags (ISO 8601) |
| end | das Ende des Eintrag (ISO 8601) |
| categories | die Kategorie des Eintrags (als String) |
| location | der Ort des Eintrags |
| mkdate | das Erstellungsdatum des Eintrags |
| chdate | das Datum der letzten Änderung des Eintrags |
| recurrence | Informationen über Wiederholungen des Eintrags |
Relationen
| Relation | Beschreibung |
|---|---|
| owner | die 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
| Attribut | Beschreibung |
|---|---|
| title | der Titel des Eintrags |
| description | die Beschreibung des Eintrags |
| start | die Uhrzeit des Beginns des Eintrags ("hh:mm") |
| end | die Uhrzeit des Endes des Eintrags ("hh:mm") |
| weekday | der Wochentag des Eintrags (0-6) |
| color | die Farbe des Eintrags ("#rrggbb") |
Relationen
| Relation | Beschreibung |
|---|---|
| owner | der 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
| Attribut | Beschreibung |
|---|---|
| title | der Titel des Eintrags |
| description | die Beschreibung des Eintrags |
| start | die Uhrzeit des Beginns des Eintrags ("hh:mm") |
| end | die Uhrzeit des Endes des Eintrags ("hh:mm") |
| weekday | der Wochentag des Eintrags (0-6) |
| recurrence | Informationen über Wiederholungen des Eintrags |
| locations | alle Orte, an denen dieser Eintrag stattfindet |
Relationen
| Relation | Beschreibung |
|---|---|
| owner | die 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
| Parameter | Beschreibung |
|---|---|
| id | die ID des Nutzers |
URL-Parameter
| Parameter | Beschreibung |
|---|---|
| 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)
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
| Parameter | Beschreibung |
|---|---|
| id | die 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
| Parameter | Beschreibung |
|---|---|
| id | die ID der Veranstaltung |
URL-Parameter
| Parameter | Default | Beschreibung |
|---|---|---|
| page[offset] | 0 | der Offset (siehe Paginierung) |
| page[limit] | 30 | das 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
| Parameter | Beschreibung |
|---|---|
| id | die ID des Nutzers |
URL-Parameter
| Parameter | Default | Beschreibung |
|---|---|---|
| filter[timestamp] | Beginn des aktuellen Semesters | Startzeitpunkt 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}
| Parameter | Beschreibung |
|---|---|
| id | die 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}
| Parameter | Beschreibung |
|---|---|
| id | die ID des Termins |
URL-Parameter
keine URL-Parameter
Autorisierung
Alle Teilnehmenden einer Veranstaltung können den Termin sehen.