API para descartar (ler) notificações

Aqui está uma tentativa de descrever o que estamos tentando resolver:

Temos uma equipe de suporte com 4 membros, todos configurados com o nível de notificação “Acompanhar primeira postagem” para a categoria de suporte. Queremos acelerar o atendimento da equipe incentivando-os a acompanhar e reagir às notificações com mais frequência e rapidez. Como os membros da equipe têm horários de trabalho diferentes, muitos tópicos são abertos e resolvidos durante o período em que estão fora do expediente.

Exemplo:

Sou membro do suporte e meu turno começa às :clock1030:. Até lá, muitos tópicos já foram abertos e resolvidos enquanto eu estava fora. Não quero receber notificações sobre esse tipo de tópico.

Portanto, estamos procurando uma maneira de descartar (“desnotificar”, revogar, marcar como lido automaticamente) as notificações acionadas pelo “Acompanhar Primeira Postagem” que já foram resolvidas antes do usuário acessar o Discourse.


Até agora, encontramos notificações como essa no banco de dados usando uma consulta assim:

select
     notifications.user_id
    ,notifications.topic_id
    ,notifications.id
from notifications
where read=false
and notification_type=17
and topic_id in (
select
 topic_id
from topic_custom_fields
where name='accepted_answer_post_id' and value is not null
)

Conseguimos descartar a notificação atualizando o campo read diretamente no banco de dados:

update notifications
set read=true
where id=XXXXXX

Sabemos que fazer atualizações diretas no banco de dados do Discourse é insano e muito ruim.
Então, estamos procurando algum tipo de API que nos permita chamar o descarte de uma notificação específica.

Se conseguirmos criar um trabalho Sidekiq para descartar a notificação diretamente no banco de dados, essa seria uma solução sustentável para um site em produção?

Existem plugins “boas” que realizam trabalhos em segundo plano diretamente no banco de dados, para que possamos tentar recriar um com essa finalidade?

Tendemos mais a excluir notificações como essas, já que não existe Notifications - "unread only" filter.
O Discourse possui algum plugin “oficial” que realize exclusões diretamente no banco de dados, para que possamos tentar aprender como excluir algo no banco de dados através de um plugin?