Come cambiare i livelli di notifica per tutti gli utenti su un argomento?

Tuttavia, solo per informazione, se lo stanno guardando, riceveranno comunque notifiche quando sarà Non in elenco.

Penso che ora puoi usare l’endpoint /t/ID_ARGOMENTO/notifications per impostare il livello di notifica per un utente su un argomento specifico, se questa è una scelta più allettante rispetto alla console Rails?

Dettagli aggiuntivi
  • L’utente API dovrebbe essere un amministratore (quindi dovrebbe avere ambito globale) per poter modificare il livello di notifica di un altro utente.
  • URL endpoint: urlsito/t/<id_argomento>/notifications
  • Tipo di richiesta: POST
  • Parametri:
    • username o external_id dell’utente di destinazione. Se vuoto, verrà modificato il livello di notifica dell’amministratore per l’argomento.
    • notification_level: valore intero corrispondente al livello
      • muted: 0,
      • regular: 1,
      • normal: 1, # alias per regular
      • tracking: 2,
      • watching: 3,

Ma per la console Rails penso che sarebbe questo: (ricorda di fare un backup nel caso prima di provare a cambiare le cose in Rails :warning:)

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

(1 è normale, 0 è muto)

Ciò cambierebbe quelli a livello di argomento, ma potrebbero esserci quelli a livello di categoria e tag che potrebbero comunque influire su chi riceve un ping per nuove attività.

E una piccola query di esplorazione dati per controllare i livelli per gli utenti su un argomento, se utile:

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