rp-chats
Zweck
Chaträume, ihre Mitgliedschaft und ihre raumbezogenen Kontexte. Die Unterhaltung
selbst befindet sich nicht hier: Ein Raum enthält eine , und die NachrichtenthreadId
liegen in .rp-threads
Zuständigkeitsgrenze
Verwaltet Räume, Rollen und Kontexte. Ruft kein anderes Repository auf — erzeugtcreateRoom
die und gibt sie zurück, und der Aufrufer registriert den Thread.threadId
Identität und Zugriff
Der Aufrufer stammt aus dem verifizierten Token, niemals aus einem Parameter. Daraus ergeben sich zwei
nennenswerte Konsequenzen:
wird innerhalb der Abfrage auf den Aufrufer beschränkt, sodass das Ersetzen der ID eines anderenlistRooms
Benutzers nicht mehr dessen Räume liest undnicht die AnzahltotalCount
der Räume preisgeben kann, die ausgeblendet wurden;- alles, was einen einzelnen Raum anhand seiner ID adressiert, prüft zuerst die Mitgliedschaft.
bleibt auch nach der Einführung von chart_room_users bestehen: Ein Tag drücktaccess_tags
Mitgliedschaft aus, aber nicht die Unterscheidung zwischen , owner und admin.member
Hinweis zu Tabellennamen
Die Tabellen heißen / chart_rooms. Der Tippfehler istchart_room_users
über Migrationen, Entitäten und Abfragen hinweg konsistent, daher funktioniert der Code; eine Umbenennung
ist eine Migration, keine Bearbeitung.
Direkte Modulabhängigkeiten
,back-core,nrpcg-chats
Zugehörigkeit zur Lösung
communications
Quelle
modules/repositories/communications/rp-chats