واجهة برمجة التطبيقات لتجاهل (قراءة) الإشعارات

إليك محاولة لوصف ما نحاول حله:
لدينا فريق دعم مكون من 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 أي إضافة “رسمية” تقوم بحذف البيانات داخل قاعدة البيانات، بحيث يمكننا محاولة تعلم كيفية حذف شيء ما في قاعدة البيانات عبر إضافة؟