Преобразовать категорию в приватную и добавить пользователей в конкретную группу с доступом

Я использовал запрос Data Explorer, чтобы определить, кто участвовал в теме на основе user_actions:

-- [params]
-- int :topic = 3620561


select user_id, 
       sum(action_type) actions,
       sum(case action_type when 5 then 1 else 0 end) replies 
from user_actions ua
     join users u on u.id = ua.user_id
where target_topic_id = :topic
      and moderator is false
      and admin is false
group by ua.user_id

Это включает такие действия, как ответы, лайки, правки и упоминания. У меня также есть запрос, который включает ответы на опросы. Это было для сбора потенциальных клиентов, но я ожидаю, что некоторые из тех, кто что-то сделал, кроме ответа, могут иметь отношение к теме. Определение «участия» может быть полезным упражнением.

Чтобы расширить запрос на всю категорию, присоединитесь к topics t on target_topic_id = t.id и добавьте category_id в условие where. Определить временной интервал на основе ua.created_at не должно составить труда.