Abrufen von Antworten auf oberster Ebene zu einem Thema

Ich habe eine Anforderung, bei der alle Erstantworten auf ein Thema abgerufen werden müssen. Wenn wir ein neues Thema erstellen, wird dabei auch ein Beitrag angelegt. Um eine Erstantwort auf das Thema zu erstellen, führe ich den folgenden API-Aufruf durch:

POST http://discourse-url/posts/
{
“raw”: “Dies ist eine Erstantwort auf ein Thema”,
“topic_id”: 1234,
“reply_to_post_number”: null
}

Um nun die Erstantworten abzurufen, führe ich den folgenden Aufruf mit post_id als ID des ersten Beitrags durch, der für das Thema erstellt wurde. Dieser Beitrag hat die post_number 1.

GET http://discourse-url/posts/{post_id}/replies.json

Dies gibt jedoch ein leeres Array zurück. Das ist nachvollziehbar, da Discourse Antworten auf der Ebene des Themas als Beiträge und nicht als Antworten behandelt. In der Discourse-Terminologie werden „Antworten" auf Beiträge und „Beiträge" auf Themen erstellt.

Ich habe eine Umgehungslösung dafür gefunden. Anstatt reply_to_post_number als null zu senden, sende ich es als 1. Dann funktioniert der API-Aufruf für Antworten ebenfalls einwandfrei. Hier ist die Beispielanfrage:

POST http://discourse-url/posts/
{
“raw”: “Dies ist eine Erstantwort auf ein Thema”,
“topic_id”: 1234,
“reply_to_post_number”: 1
}

Nun kann ich die Erstantworten für dieses Thema durch den folgenden API-Aufruf abrufen:

GET http://discourse-url/posts/{post_id}/replies.json

Angesichts der Antwort hier Posts vs Replies vs Topic habe ich das Gefühl, dass ich die Struktur der Beiträge in Discourse grundlegend verändert habe.

Meine Frage lautet: Kann diese Änderung andere Funktionen in Discourse beeinträchtigen? Aktuell sehe ich auf der Website keine Probleme mit dieser Änderung. Gibt es jedoch etwas, das ich übersehen habe und worauf ich achten sollte?

2 „Gefällt mir“

Could you please help me understanding the side effects of converting posts to replies by changing reply_to_post_number as 1 instead of null?