Zum Inhalt springen

Blubber

Blubber ermöglicht innerhalb von Veranstaltungen mit anderen Stud.IP-Teilnehmern zu chatten. Wir unterscheiden in öffentliche-, private- und veranstaltungsbezogene Blubber.

Der Inhalt wird als plain-text und html gespeichert. Meta-Daten geben Informationen über den Zeitpunkt und das Thema einer Nachricht.

AttributBeschreibung
context-typedie Art des Kontexts; Veranstaltung (“course”), Öffentlich (“global”) oder Nutzer (“user”)
contentder Text des Blubber-Beitrags; kann Stud.IP-Markup enthalten
content-htmlder Text des Blubber-Beitrags; als HTML formatiert
mkdateAnlegedatum
chdateDatum der letzten Änderung
discussion-timeDatum der letzten Aktivität
tagseine Liste von Tags
RelationBeschreibung
authorVerfasser der Nachricht
commentsUntergeordnete Blubber
contextWem wird der Blubber angezeigt: users, courses, public
mentionsThema eines Blubber-Eintrags
parentÜbergeordneter Blubber-Eintrag
resharers
Terminal-Fenster
curl --request GET \
--url https://example.com/blubber-postings \
--header "Authorization: Basic `echo -ne "test_autor:testing" | base64`"
fetch('https://example.com/blubber-postings', {
method: 'GET',
mode: 'cors',
headers: new Headers({
'Authorization': `Basic ${btoa('test_autor:testing')}`
})
}).then(response => console.log(response))

Es werden alle Blubber-Beiträge, die man im Stud.IP sehen könnte, angezeigt.

GET /blubber-postings

ParameterBeschreibung
filterFiltermöglichkeit der anzuzeigenden Blubber-Beiträge
includeabhängige Ressourcen, die auch zurückgeliefert werden (JSON:API-Spezifikation)
pageEinstellmöglichkeiten zur Paginierung

Mit diesem URL-Parameter kann nach Typ und Datum der Aktivitäten gefiltert werden. Möglich sind folgende Filter:

Beispiel-Url: “https://example.com/blubber-postings?filter[user]=205f3efb7997a0fc9755da2b535038da

FilterBeschreibung
filter[course]Filtert Blubber-Einträge für eine Veranstaltung
filter[user]Filter Blubber-Einträge für einen Nutzer

Fügt folgende Attribute in die Ausgabe hinzu.

WertBeschreibung
authorDen Verfasser eines Blubbers
commentsAngehangene Blubber
contextWem wird der post angezeigt (users, courses, public)
mentions
resharers

Einen gezielten Blubber-Eintrag auslesen.

GET /blubber-postings/{id}

ParameterBeschreibung
idID des Blubber-Posts

Diese Route kann von allen Nutzern verwendet werden.

Terminal-Fenster
curl --request GET \
--url https://example.com/blubber-postings/<posting-id> \
--header "Authorization: Basic `echo -ne "test_autor:testing" | base64`"
Terminal-Fenster
curl --request POST \
--url https://example.com/blubber-postings \
--header "Content-Type: application/vnd.api+json" \
--header "Authorization: Basic `echo -ne "test_autor:testing" | base64`" \
--data \
'{"data":{"type":"blubber-postings","attributes":{"context-type":"course","content":"Ein neuer blubberpost"},"relationships":{"context":{"data":{"type":"courses","id":"<CID>"}}}}}'

Mit dieser Route kann ein Blubber-Beitrag angelegt werden. Dies kann ein öffentlicher oder privater Beitrag sein, aber auch Blubber in Veranstaltungen können darüber angelegt werden.

POST /blubber-postings

Im Request-Body muss der neue Beitrag als resource object vom Typ “blubber-postings” sein.

Notwendig sind die Attribute “content” und “context-type”.

Abhängig vom Wert des Attributs “context-type”, muss außerdem eine “context”-Relation angegeben werden.

Hat dieses Attribut den Wert “course”, muss als “context”-Relation eine Veranstaltung als resource identifiert angegeben werden.

Bei diesem Request sind keine Parameter notwendig.

Diese Route kann von allen Nutzern verwendet werden.

Aktualisiert einen Blubber-Beitrag.

PATCH /blubber-postings/{id}

ParameterBeschreibung
idID des Blubber-Posts

Der Sender des Requests muss Besitzer des Blubber-Beitrags oder Root sein.

Terminal-Fenster
curl --request PATCH \
--url https://example.com/blubber-postings/<blubber-id> \
--header "Content-Type: application/vnd.api+json" \
--header "Authorization: Basic `echo -ne "root@studip:testing" | base64`" \
--data
'{"data":{"type":"blubber-postings","attributes":{"context-type":"course","content":"Ein veränderter blubberpost"}, "relationships":{"context":{"data":{"type":"courses","id":"a07535cf2f8a72df33c12ddfa4b53dde"}}}}}'

Löscht einen Blubber-Eintrag.

DELETE /blubber-postings/{id}

ParameterBeschreibung
idID des Blubber-Posts

Der Sender des Requests muss Besitzer des Blubber-Beitrags oder Root sein.

Terminal-Fenster
curl --request DELETE \
--url https://example.com/blubber-postings/<blubber-id> \
--header "Authorization: Basic `echo -ne "test_autor:testing" | base64`" \

Gibt den Author eines Blubber-Posts zurück.

GET /blubber-postings/{id}/relationships/author

ParameterBeschreibung
idID des Blubber-Posts

Diese Route kann von allen Nutzern verwendet werden.

Terminal-Fenster
curl --request GET \
--url https://example.com/blubber-postings/<posting-id>/relationships/author \
--header "Authorization: Basic `echo -ne "test_autor:testing" | base64`"

Gibt alle Kommentare eines Blubber-Beitrags zurück.

GET /blubber-postings/{id}/comments

ParameterBeschreibung
idID des Blubber-Posts

Diese Route kann von allen Nutzern verwendet werden.

Terminal-Fenster
curl --request GET \
--url https://example.com/blubber-postings/<posting-id>/comments \
--header "Authorization: Basic `echo -ne "test_autor:testing" | base64`"

Erstellt einen Kommentar zu einem Blubber-Beitrag.

POST /blubber-postings/{id}/comments

ParameterBeschreibung
idID des Blubber-Posts

Diese Route kann von allen Nutzern verwendet werden.

Terminal-Fenster
curl --request POST \
--url https://example.com/blubber-postings/<posting-id>/comments \
--header "Content-Type: application/vnd.api+json" \
--header "Authorization: Basic `echo -ne "root@studip:testing" | base64`" \
--data
'{"data": {"type": "blubber-postings","attributes": {"content": "Ein neuer blubberkommentar"}}}'

GET /blubber-postings/{id}/relationships/comments

ParameterBeschreibung
idID des Blubber-Posts

Diese Route kann von allen Nutzern verwendet werden.

Terminal-Fenster
curl --request GET \
--url https://example.com/blubber-postings/<posting-id>/relationships/comments \
--header "Authorization: Basic `echo -ne "test_autor:testing" | base64`"

Gibt den Scope (Sichtbarkeit) eines Blubber-Beitrags zurück.

GET /blubber-postings/{id}/relationships/context

Parameter | Beschreibung
--------- | -------
id | ID des Blubber-Posts

Diese Route kann von allen Nutzern verwendet werden.

Terminal-Fenster
curl --request GET \
--url https://example.com/blubber-postings/<posting-id>/relationships/context \
--header "Authorization: Basic `echo -ne "test_autor:testing" | base64`"

Gibt an, ob und in welchen Beiträgen eine Referenz zu diesem Beitrag gibt.

GET /blubber-postings/{id}/mentions

Parameter | Beschreibung
--------- | -------
id | ID des Blubber-Posts

Diese Route kann von allen Nutzern verwendet werden.

Terminal-Fenster
curl --request GET \
--url https://example.com/blubber-postings/<posting-id>/mentions \
--header "Authorization: Basic `echo -ne "test_autor:testing" | base64`"

Gibt die Referenz der Beiträge zurück, in denen dieser Beitrag erwähnt wird.

GET /blubber-postings/{id}/relationships/mentions

Parameter | Beschreibung
--------- | -------
id | ID des Blubber-Posts

Diese Route kann von allen Nutzern verwendet werden.

Terminal-Fenster
curl --request GET \
--url https://example.com/blubber-postings/<posting-id>/relationships/mentions \
--header "Authorization: Basic `echo -ne "test_autor:testing" | base64`"

Gibt die Referenz von Usern zurück, die diesen Beitrag geteilt haben.

GET /blubber-postings/{id}/relationships/resharers

Parameter | Beschreibung
--------- | -------
id | ID des Blubber-Posts

Diese Route kann von allen Nutzern verwendet werden.

Terminal-Fenster
curl --request GET \
--url https://example.com/blubber-postings/<posting-id>/relationships/resharers \
--header "Authorization: Basic `echo -ne "test_autor:testing" | base64`"

Gibt eine Folge von Blubber-Einträgen zurück.

GET /blubber-streams/{id}

ParameterBeschreibung
idID des Blubber-Streams

Diese Route kann von allen Nutzern verwendet werden.

Terminal-Fenster
curl --request GET \
--url https://example.com/blubber-postings/<posting-id>/blubber-streams/<stream-id> \
--header "Authorization: Basic `echo -ne "test_autor:testing" | base64`"