¿Cómo cambiar los niveles de notificación para todos los usuarios en un tema?

Sin embargo, solo para que lo sepas, si lo están viendo, aún recibirían notificaciones cuando no esté listado.

Creo que ahora puedes usar el endpoint /t/TOPIC_ID/notifications para establecer el nivel de notificación de un usuario en un tema específico, si esa es una opción más atractiva que la consola de Rails.

Detalles adicionales
  • El usuario de la API debe ser un administrador (por lo que debe tener alcance global) para poder cambiar el nivel de notificación de otro usuario.
  • URL del endpoint: siteurl/t/<topic_id>/notifications
  • Tipo de solicitud: POST
  • Parámetros:
    • username o external_id del usuario de destino. Si está vacío, se cambiará el nivel de notificación del propio administrador para el tema.
    • notification_level: valor entero correspondiente al nivel
      • muted: 0,
      • regular: 1,
      • normal: 1, # alias para regular
      • tracking: 2,
      • watching: 3,

Pero para la consola de Rails, creo que sería esto: (recuerda hacer una copia de seguridad por si acaso antes de intentar cambiar cosas en Rails :warning:)

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

(1 es normal, 0 es silenciar)

Eso cambiaría los niveles del tema, pero puede haber niveles de categoría y etiqueta que aún puedan afectar a quién recibe una notificación de nueva actividad.

Y una pequeña consulta de explorador de datos para verificar los niveles de los usuarios en un tema si eso también es útil:

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