Zum Inhalt springen

Forum

Das Stud.IP-Forum bietet die Möglichkeit Beiträge zu erstellen, zu kommentieren und zu Kategorisieren. Jedes Forum ist an genau eine Veranstaltung gebunden. Die Schema’s werden in Forum-Categories und Forum-Entries unterteilt.

Kategorien für Einträge haben einen Namen und geben die Hierarchie des Forums anhand ihrer Position an.

AttributBeschreibung
titleName einer Kategorie
positionPosition einer Kategorie
RelationBeschreibung
courseDer Kurs des Forums, indem die Kategorie angelegt ist
entriesAlle Forum-Einträge einer Forum-Kategorie

Einträge des Forums liegen auf verschiedenen Ebenen. Sie können direkt in Kategorien als Themen erstellt werden oder an vorhandene Einträge angebunden werden.

AttributBeschreibung
titleName eines Entries (sollte nur bei Themen angezeigt werden)
contentGibt den Inhalt eines Entries wieder
areaDieses Attribut wird mitgeführt (ist aber idr. ‘0’)
RelationBeschreibung
categoryDie Forum-Kategorie des Forumeintrags
entriesAlle Untereinträge eines Forumeintrags

GET /courses/{id}/forum-categories

ParameterBeschreibung
idDie ID des Kurses
Terminal-Fenster
curl --request GET \
--url https://example.com/courses/<COURSE-ID>/forum-categories \
--header "Content-Type: application/vnd.api+json" \
--header "Authorization: Basic `echo -ne "test_autor:testing" | base64`" \
--data
Der Nutzer sollte Mitglied des entsprechenden Kurses sein.

Der Request liefert JSON ähnlich wie dieses:

{
"data": [
{
"type": "forum-categories",
"id": "d6b887a73f024cf31b4a01f41531b809",
"attributes": {
"title": "NewStuff",
"position": 0
},
"relationships": {
"course": {
"data": {
"type": "courses",
"id": "1b7d3834e42c1569947e0eab7b63ed19"
},
"links": {
"related": "/stud35/plugins.php/argonautsplugin/courses/1b7d3834e42c1569947e0eab7b63ed19"
}
}
},
"links": {
"self": "/stud35/plugins.php/argonautsplugin/forum-categories/d6b887a73f024cf31b4a01f41531b809"
}
},
{
"type": "forum-categories",
"id": "3710de2efd59869ab7ed7e410f70947f",
"attributes": {
"title": "CatCreateRoute",
"position": 1
},
"relationships": {
"course": {
"data": {
"type": "courses",
"id": "1b7d3834e42c1569947e0eab7b63ed19"
},
"links": {
"related": "/stud35/plugins.php/argonautsplugin/courses/1b7d3834e42c1569947e0eab7b63ed19"
}
}
},
"links": {
"self": "/stud35/plugins.php/argonautsplugin/forum-categories/3710de2efd59869ab7ed7e410f70947f"
}
},
{
"type": "forum-categories",
"id": "7684942d4a1d3f8ab0752165e22c31a6",
"attributes": {
"title": "TESTECASE ",
"position": 2
},
"relationships": {
"course": {
"data": {
"type": "courses",
"id": "1b7d3834e42c1569947e0eab7b63ed19"
},
"links": {
"related": "/stud35/plugins.php/argonautsplugin/courses/1b7d3834e42c1569947e0eab7b63ed19"
}
}
},
"links": {
"self": "/stud35/plugins.php/argonautsplugin/forum-categories/7684942d4a1d3f8ab0752165e22c31a6"
}
},
{
"type": "forum-categories",
"id": "4ca16225a42c94957c4129da5f0bef2d",
"attributes": {
"title": "CatCreateRoute",
"position": 3
},
"relationships": {
"course": {
"data": {
"type": "courses",
"id": "1b7d3834e42c1569947e0eab7b63ed19"
},
"links": {
"related": "/stud35/plugins.php/argonautsplugin/courses/1b7d3834e42c1569947e0eab7b63ed19"
}
}
},
"links": {
"self": "/stud35/plugins.php/argonautsplugin/forum-categories/4ca16225a42c94957c4129da5f0bef2d"
}
},
{
"type": "forum-categories",
"id": "1b7d3834e42c1569947e0eab7b63ed19",
"attributes": {
"title": "Allgemein",
"position": 4
},
"relationships": {
"course": {
"data": {
"type": "courses",
"id": "1b7d3834e42c1569947e0eab7b63ed19"
},
"links": {
"related": "/stud35/plugins.php/argonautsplugin/courses/1b7d3834e42c1569947e0eab7b63ed19"
}
}
},
"links": {
"self": "/stud35/plugins.php/argonautsplugin/forum-categories/1b7d3834e42c1569947e0eab7b63ed19"
}
}
]
}
`GET /forum-categories/{id}`
Parameter | Beschreibung

---------- | ------------ id | Die ID der Kategorie

Terminal-Fenster
curl --request GET \
--url https://example.com/forum-categories/<FORUM-CATEGORY-ID> \
--header "Content-Type: application/vnd.api+json" \
--header "Authorization: Basic `echo -ne "test_autor:testing" | base64`" \
--data
Der Nutzer sollte Mitglied des entsprechenden Kurses sein.

Der Request liefert JSON ähnlich wie dieses:

{
"data": {
"type": "forum-categories",
"id": "1b7d3834e42c1569947e0eab7b63ed19",
"attributes": {
"title": "Allgemein",
"position": 4
},
"relationships": {
"course": {
"data": {
"type": "courses",
"id": "1b7d3834e42c1569947e0eab7b63ed19"
},
"links": {
"related": "/stud35/plugins.php/argonautsplugin/courses/1b7d3834e42c1569947e0eab7b63ed19"
}
}
},
"links": {
"self": "/stud35/plugins.php/argonautsplugin/forum-categories/1b7d3834e42c1569947e0eab7b63ed19"
}
}
}
`GET /forum-entries/{id}`
Parameter | Beschreibung
---------- | ------------
id | Die ID des Entries
Terminal-Fenster
curl --request GET \
--url https://example.com/forum-entries/<FORUM-ENTRY-ID> \
--header "Content-Type: application/vnd.api+json" \
--header "Authorization: Basic `echo -ne "test_autor:testing" | base64`" \
--data
Der Nutzer sollte Mitglied des entsprechenden Kurses sein.

Der Request liefert JSON ähnlich wie dieses:

{
"data": {
"type": "forum-entries",
"id": "1b7d3834e42c1569947e0eab7b63ed19",
"attributes": {
"title": "Übersicht",
"area": 0,
"content": ""
},
"relationships": {
"category": {
"data": {
"type": "forum-categories",
"id": null
},
"links": {
"related": "/stud35/plugins.php/argonautsplugin/forum-categories/"
}
},
"child-entries": {
"data": [
{
"type": "forum-entries",
"id": "2e6ff68d79c5e3f3ed24bd0274865e42"
},
{
"type": "forum-entries",
"id": "3e0ec8e69afe2502763730e17954d340"
},
{
"type": "forum-entries",
"id": "783e1b783a76f109eeb5fc19c43c2d08"
},
{
"type": "forum-entries",
"id": "9af47a2c1463b12a35e3a7c3a10bd53c"
},
{
"type": "forum-entries",
"id": "a5e119fc5b8cfc549ab9cc985e8609a1"
},
{
"type": "forum-entries",
"id": "b21ca75f9562d3a5751babaac49bbc9a"
},
{
"type": "forum-entries",
"id": "c2e21dfa7d071fb6f40ed29271f926aa"
},
{
"type": "forum-entries",
"id": "f5f8ea3da6fd945eb92dd0d1e1193132"
}
],
"links": {
"related": "/stud35/plugins.php/argonautsplugin/forum-entries/1b7d3834e42c1569947e0eab7b63ed19/child-entries"
}
}
},
"links": {
"self": "/stud35/plugins.php/argonautsplugin/forum-entries/1b7d3834e42c1569947e0eab7b63ed19"
}
}
}
`GET /forum-categories/{id}/entries`
Parameter | Beschreibung
---------- | ------------
id | Die ID der Kategorie
Terminal-Fenster
curl --request GET \
--url https://example.com/forum-categories/<CATEGORY-ID>/entries \
--header "Content-Type: application/vnd.api+json" \
--header "Authorization: Basic `echo -ne "test_autor:testing" | base64`" \
--data

Der Nutzer sollte Mitglied des entsprechenden Kurses sein.

Der Request liefert JSON ähnlich wie dieses:

{
"data": {
"type": "forum-entries",
"id": "1b7d3834e42c1569947e0eab7b63ed19",
"attributes": {
"title": "Übersicht",
"area": 0,
"content": ""
},
"relationships": {
"category": {
"data": {
"type": "forum-categories",
"id": null
},
"links": {
"related": "/stud35/plugins.php/argonautsplugin/forum-categories/"
}
},
"child-entries": {
"data": [
{
"type": "forum-entries",
"id": "2e6ff68d79c5e3f3ed24bd0274865e42"
},
{
"type": "forum-entries",
"id": "3e0ec8e69afe2502763730e17954d340"
},
{
"type": "forum-entries",
"id": "783e1b783a76f109eeb5fc19c43c2d08"
},
{
"type": "forum-entries",
"id": "9af47a2c1463b12a35e3a7c3a10bd53c"
},
{
"type": "forum-entries",
"id": "a5e119fc5b8cfc549ab9cc985e8609a1"
},
{
"type": "forum-entries",
"id": "b21ca75f9562d3a5751babaac49bbc9a"
},
{
"type": "forum-entries",
"id": "c2e21dfa7d071fb6f40ed29271f926aa"
},
{
"type": "forum-entries",
"id": "f5f8ea3da6fd945eb92dd0d1e1193132"
}
],
"links": {
"related": "/stud35/plugins.php/argonautsplugin/forum-entries/1b7d3834e42c1569947e0eab7b63ed19/child-entries"
}
}
},
"links": {
"self": "/stud35/plugins.php/argonautsplugin/forum-entries/1b7d3834e42c1569947e0eab7b63ed19"
}
}
}
`GET /forum-entries/{id}/entries`
Parameter | Beschreibung
---------- | ------------
id | Die ID des Eintrags
Terminal-Fenster
curl --request GET \
--url https://example.com/forum-entries/<FORUM-ENTRY-ID>/entries \
--header "Content-Type: application/vnd.api+json" \
--header "Authorization: Basic `echo -ne "test_autor:testing" | base64`" \
--data

Der Nutzer sollte Mitglied des entsprechenden Kurses sein.

__

`POST /courses/{id}/forum-categories`
Parameter | Beschreibung
---------- | ------------
id | Die ID des Kurses
Terminal-Fenster
curl --request POST \
--url https://example.com/courses/<COURSE-ID>/categories \
--header "Content-Type: application/vnd.api+json" \
--header "Authorization: Basic `echo -ne "test_autor:testing" | base64`" \
--data
'{"data": {"type": "forum-categories","attributes": {"title": "CreateCategoryTest","content": "works"}
}
}'

Der Nutzer sollte Mitglied des entsprechenden Kurses sein.

Der Request liefert JSON ähnlich wie dieses:

{
"data": {
"type": "forum-categories",
"id": "1b7d3834e42c1569947e0eab7b63ed19",
"attributes": {
"title": "Allgemein",
"position": 4
},
"relationships": {
"course": {
"data": {
"type": "courses",
"id": "1b7d3834e42c1569947e0eab7b63ed19"
},
"links": {
"related": "/stud35/plugins.php/argonautsplugin/courses/1b7d3834e42c1569947e0eab7b63ed19"
}
}
},
"links": {
"self": "/stud35/plugins.php/argonautsplugin/forum-categories/1b7d3834e42c1569947e0eab7b63ed19"
}
}
}
`POST /forum-categories/{id}/entries`
Parameter | Beschreibung
---------- | ------------
id | Die ID der Kategorie
Terminal-Fenster
curl --request POST \
--url https://example.com/forum-entries/<FORUM-CATEGORY-ID>/entries \
--header "Content-Type: application/vnd.api+json" \
--header "Authorization: Basic `echo -ne "test_autor:testing" | base64`" \
--data
'{"data": {"type": "forum-entries","attributes": {"title": "TestTheRoute","content": "works!"}}}'

Der Nutzer sollte Mitglied des entsprechenden Kurses sein.

`POST /forum-entries/{id}/entries`
Parameter | Beschreibung
---------- | ------------
id | Die ID des Eintrags
Terminal-Fenster
curl --request POST \
--url https://example.com/forum-entries/<FORUM-ENTRY-ID>/entries \
--header "Content-Type: application/vnd.api+json" \
--header "Authorization: Basic `echo -ne "test_autor:testing" | base64`" \
--data
'{"data": {"type": "forum-entries","attributes": {"title": "TestTheRoute","content": "works!"}}}'

Der Nutzer sollte Mitglied des entsprechenden Kurses sein.

`PATCH /forum-categories/{id}`
Parameter | Beschreibung
---------- | ------------
id | Die ID der Kategorie
Terminal-Fenster
curl --request PATCH \
--url https://example.com/forum-categories/<FORUM-CATEGORY-ID> \
--header "Content-Type: application/vnd.api+json" \
--header "Authorization: Basic `echo -ne "test_autor:testing" | base64`" \
--data
'{"data": {"type": "forum-categories","attributes": {"title": "UpdateCategory","content": "time for a change"}

Der Nutzer sollte Mitglied des entsprechenden Kurses sein. Der Nutzer sollte die entsprechenden Adminrechte verfügen oder Ersteller der Kategorie sein

Der Request liefert JSON ähnlich wie dieses:

{
"data": {
"type": "forum-categories",
"id": "1b7d3834e42c1569947e0eab7b63ed19",
"attributes": {
"title": "Allgemein",
"position": 4
},
"relationships": {
"course": {
"data": {
"type": "courses",
"id": "1b7d3834e42c1569947e0eab7b63ed19"
},
"links": {
"related": "/stud35/plugins.php/argonautsplugin/courses/1b7d3834e42c1569947e0eab7b63ed19"
}
}
},
"links": {
"self": "/stud35/plugins.php/argonautsplugin/forum-categories/1b7d3834e42c1569947e0eab7b63ed19"
}
}
}
`PATCH /forum-entries/{id}`
Parameter | Beschreibung
---------- | ------------
id | Die ID des Eintrags
Terminal-Fenster
curl --request PATCH \
--url https://example.com/forum-entries/<FORUM-ENTRY-ID> \
--header "Content-Type: application/vnd.api+json" \
--header "Authorization: Basic `echo -ne "test_autor:testing" | base64`" \
--data
'{"data": {"type": "forum-entries","attributes": {"title": "Update an entry","content": "time for a change"}}}'

Der Nutzer sollte Mitglied des entsprechenden Kurses sein. Der Nutzer sollte die entsprechenden Adminrechte verfügen oder Ersteller des Eintrags sein

`DELETE /forum-categories/{id}`
Parameter | Beschreibung
---------- | ------------
id | Die ID der Kategorie
Terminal-Fenster
curl --request DELETE \
--url https://example.com/forum-categories/<FORUM-CATEGORY-ID> \
--header "Content-Type: application/vnd.api+json" \
--header "Authorization: Basic `echo -ne "test_autor:testing" | base64`" \
--data
Der Nutzer sollte Mitglied des entsprechenden Kurses sein.
Der Nutzer sollte die entsprechenden Adminrechte verfügen oder Ersteller der
Kategorie sein.
`DELETE /forum-categories/{id}`
Parameter | Beschreibung
---------- | ------------
id | Die ID des Eintrags
Terminal-Fenster
curl --request DELETE \
--url https://example.com/forum-entries/<FORUM-ENTRY-ID> \
--header "Content-Type: application/vnd.api+json" \
--header "Authorization: Basic `echo -ne "test_autor:testing" | base64`" \
--data
Der Nutzer sollte Mitglied des entsprechenden Kurses sein.
Der Nutzer sollte die entsprechenden Adminrechte verfügen oder Ersteller des
Eintrags sein.