Das Bearbeiten von Beiträgen löst eine Benachrichtigung aus

Stell dir also einen Beitrag mit drei verschiedenen Gruppenerwähnungen vor. Er wird bearbeitet, und eine vierte Erwähnung wird hinzugefügt.

Beim Speichern der Bearbeitung können wir eine Abfrage wie diese verwenden, um die aktuelle Liste der Gruppenerwähnungen für diesen Beitrag zu ermitteln.

-- [Parameter]
-- text :post_id

select gm.group_id, g.name
from group_mentions gm
join groups g on (gm.group_id = g.id)
where post_id = :post_id

Dann können wir, indem wir die Ergebnisse der Abfrage mit der Liste der im Beitrag erwähnten Gruppen vergleichen, die neuen Erwähnung(en) finden.

Das scheint keine allzu große Berechnung zu sein, aber vielleicht übersehe ich etwas Offensichtliches. Das klingt auch nach etwas, das als Hintergrundtask erledigt werden könnte.

Was das JIT-Banner zur Benachrichtigung der Gruppe(n) betrifft, könnte diese Logik vielleicht über einen API-Endpunkt (/post/<id>/mentions.json) exponiert werden, um diese Daten asynchron abzurufen.