通知を却下(既読)するためのAPI

私たちが解決しようとしている問題の説明を試みます:
サポートチームは4名で構成されており、全員がサポートカテゴリの通知レベルを「最初の投稿をウォッチ中」に設定しています。サポートチームの効率を向上させるため、メンバーがより頻繁かつ迅速に通知を確認し、反応することを促したいと考えています。チームメンバーの勤務時間が異なるため、多くのトピックがメンバーの勤務時間外に開かれ、解決されてしまいます。

例:

私はサポートメンバーで、私のシフトは :clock1030: から始まります。それまでに多くのトピックが開かれ、私が不在の間に解決されてしまいます。そのようなトピックの通知は受け取りたくありません。

したがって、「最初の投稿をウォッチ中」によってトリガーされ、ユーザーがDiscourseにアクセスする前に解決済みの通知を無効化(「通知を解除」、取り消し、自動既読化)する方法を探しています。


現在、以下のようなクエリを使用してデータベース内でそのような通知を検出しています。

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
)

データベースの read フィールドを更新することで、通知を無効化することに成功しました。

update notifications
set read=true
where id=XXXXXX

しかし、Discourseで直接データベースを更新するのは非現実的で非常に悪い方法だと理解しています。
そのため、特定の通知の無効化を呼び出すことができるAPIのようなものを探しています。

もし、データベースを直接操作して通知を無効化するSidekiqジョブを作成できたとしても、それが本番環境での持続可能なソリューションになるでしょうか?

データベース上でバックグラウンドジョブを実行する「良い」プラグインはありますか?そのようなプラグインを参考にして、このタスクを実現できるでしょうか?

Notifications - "unread only" filter という機能がないため、このような通知を削除する方向で考えています。

データベース内で削除操作を行う「公式」プラグインはDiscourseに存在しますか?あれば、プラグインを通じてデータベースでどのように削除を行うかを学ぶことができます。