Ich habe eine Gruppe, deren Mitglieder den mailing_list_mode verwenden und die eine Kategorie auf „zuerst ansehen“ eingestellt hat.
Da sie den mailing_list_mode verwenden, erhalten sie alles aus öffentlichen Kategorien, an denen sie nicht (unbedingt) interessiert sind. Daher möchte ich alles außer der beobachteten Kategorie stummschalten.
Gibt es eine Möglichkeit, dies zu tun, ohne jede einzelne Kategorie identifizieren zu müssen, die stummgeschaltet werden soll – oder gibt es eine einfache Möglichkeit (mithilfe von #data-explorer-Abfragen), diese Kategorien zu erhalten?
Sie möchten also alle Kategorien in den Einstellungen der Gruppe stummschalten, mit Ausnahme derjenigen, die beobachtet werden oder bei denen der erste Beitrag beobachtet wird?
Ich denke, Sie könnten den Daten-Explorer verwenden, um Ihnen eine Liste der Kategorie-IDs zu liefern, getrennt durch |, damit Sie sie direkt in die Gruppeneinstellung einfügen können.
So:
Ist das, was Sie sich vorgestellt haben?
Dies ist die Abfrage, die ich verwendet habe, um diese Liste zu erhalten:
--[params]
-- group_id :group
WITH excluded_categories AS (
SELECT category_id
FROM group_category_notification_defaults
WHERE group_id = :group
AND notification_level IN (3, 4)
),
category_names AS (
SELECT id
FROM categories
WHERE id NOT IN (SELECT category_id FROM excluded_categories)
)
SELECT string_agg(CAST(id AS TEXT), '|') AS category_list
FROM category_names;