Editar publicaciones genera notificaciones

Imagina, por ejemplo, una publicación con tres menciones de grupo diferentes. Se edita y se añade una cuarta mención.

Al guardar la edición, podemos usar una consulta como esta para obtener la lista actual de menciones de grupo para esa publicación:

-- [params]
-- 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

Luego, al comparar los resultados de la consulta con la lista de grupos mencionados en la publicación, podemos identificar la(s) nueva(s) mención(es).

Eso no parece un cálculo demasiado grande, pero quizás me esté perdiendo algo obvio. Esto también parece el tipo de cosa que se podría hacer en una tarea en segundo plano.

En cuanto al banner JIT sobre la notificación al/los grupo(s), quizás esta lógica podría exponerse mediante un punto final de API (/post/<id>/mentions.json) para obtener estos datos de forma asíncrona.