모든 카테고리 음소거

문제

이메일 목록 모드(mailing_list_mode)를 사용하는 사용자 그룹이 있으며, 이 그룹은 특정 카테고리에 대해 “첫 번째 게시물 보기” 설정이 되어 있습니다.

_이메일 목록 모드_를 사용하므로, (필수적으로) 관심 있는 카테고리가 아닌 공개 카테고리의 모든 내용을 받게 됩니다. 따라서 감시 중인 카테고리를 제외한 모든 것을 음소거하고 싶습니다.

음소거할 각 카테고리를 일일이 식별하지 않고 이 기능을 수행할 수 있는 방법이 있나요? 아니면 data-explorer 쿼리를 사용하여 해당 카테고리를 쉽게 가져올 수 있는 방법이 있나요?

설정에서 그룹의 모든 카테고리를 음소거하되, 관찰 중이거나 첫 게시물이 관찰 중인 카테고리는 제외하고 싶으신 건가요?

데이터 탐색기(data explorer)를 사용하면 |로 구분된 카테고리 ID 목록을 제공받아 그룹 설정에 바로 붙여넣을 수 있습니다.

다음과 같이 말이죠:

이것이 의도하신 내용인가요?

해당 목록을 얻기 위해 제가 사용한 쿼리는 다음과 같습니다:

--[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;