Como alterar os níveis de notificação para todos os usuários em um tópico?

Embora, só para constar, se eles estiverem assistindo, eles ainda receberão notificações quando for não listado.

Eu acho que agora você pode usar o endpoint /t/TOPIC_ID/notifications para definir o nível de notificação para um usuário em um tópico específico, se essa for uma opção mais atraente do que o console do Rails?

Detalhes adicionais
  • O usuário da API deve ser um administrador (portanto, deve ter escopo global) para poder alterar o nível de notificação de outro usuário.
  • URL do endpoint: siteurl/t/<topic_id>/notifications
  • Tipo de solicitação: POST
  • Parâmetros:
    • username ou external_id do usuário alvo. Se vazio, o nível de notificação do próprio administrador para o tópico será alterado.
    • notification_level: valor inteiro correspondente ao nível
      • muted: 0,
      • regular: 1,
      • normal: 1, # alias para regular
      • tracking: 2,
      • watching: 3,

Mas para o console do Rails, acho que seria isto: (lembre-se de fazer um backup, caso antes de tentar mudar coisas no rails :warning:)

TopicUser.where(topic_id: TOPIC_ID).update(notification_level: 1)

(1 é normal, 0 é mudo)

Isso mudaria os níveis de tópico, mas pode haver níveis de categoria e tag que ainda podem afetar quem recebe um ping para novas atividades.

E uma pequena consulta ao explorador de dados para verificar os níveis dos usuários em um tópico, se isso for útil também:

SELECT 
    topic_id,
    user_id,
    notification_level
FROM topic_users
WHERE topic_id = TOPIC_ID