Es gibt eine Reihe von Aktionen, bei denen ich erwarten würde (und auch gerne hätte), dass sie Webhook-user-Ereignisse generieren, aber das tun sie nicht. Bevor ich Fehlerberichte einreiche (oder PRs einreiche), möchte ich eine bessere Vorstellung davon bekommen, warum das so ist.
| Aktion | Erwartetes user-Ereignis |
|---|---|
| Konto vom Administrator deaktiviert | user_logged_out |
| Konto vom Administrator anonymisiert | user_logged_out |
| Benutzer meldet sich selbst über die Schaltfläche „Alle abmelden“ ab | user_logged_out |
| — | — |
| Zu einer Gruppe hinzugefügt | user_updated |
| Aus einer Gruppe entfernt | user_updated |
| Vertrauensstufe erhöht/verringert | user_updated |
| Moderatorenstatus gewährt/entzogen | user_updated |
| Administratorstatus gewährt/entzogen | user_updated |
| Entsperrt | user_updated |
| Stummgeschaltet/entschaltet | user_updated |
- Die erste Gruppe von drei Aktionen führt zu einer globalen Abmeldung des Benutzers, bei der alle Sitzungen ungültig werden – aber im Gegensatz zu anderen ähnlichen Aktionen (z. B. Benutzer vom Administrator abgemeldet) generieren diese drei kein user/user_logged_out-Ereignis (oder irgendein anderes Ereignis).
- Das Hinzufügen/Entfernen aus einer Gruppe generiert ein group_user-Ereignis, aber kein user-Ereignis. Die group_user-Ereignisse sind für sich genommen nicht sehr nützlich, da sie nur die internen numerischen IDs von Gruppen und Benutzern enthalten. Auf der anderen Seite enthält der
\"user\"-Datensatz, der bei einem user-Ereignis gesendet wird, wirklich nützliche Informationen für alle Gruppen, zu denen ein Benutzer gehört, einschließlich der Namen der Gruppen und Details zu den Beziehungen des Benutzers zu den Gruppen. - Wenn die Vertrauensstufe eines Benutzers erhöht wird, wird ein user_promoted-Ereignis ausgegeben, das Daten enthält, die user-Ereignissen sehr ähnlich, aber nicht ganz gleich sind. Wenn die Vertrauensstufe eines Benutzers verringert wird, wird überhaupt kein ähnliches Ereignis ausgegeben.
- Es werden keine user-Ereignisse ausgegeben, wenn sich der Moderatoren- oder Administratorstatus ändert. (Es gibt indirekte benutzerspezifische Beweise für Gewährungsaktionen über group_user-Ereignisse; es gibt keine benutzerspezifischen Beweise für Entzugsaktionen.)
- Das Suspendieren eines Benutzers löst ein user/user_logged_out-Ereignis aus (mit den Feldern
\"suspended_reason\"und\"suspended_till\", die die Suspendierung angeben) – aber es gibt kein Ereignis, wenn ein Benutzer entsperrt wird. Es werden überhaupt keine Ereignisse ausgegeben, wenn ein Benutzer stummgeschaltet oder entschaltet wird.
Sind einige dieser Auslassungen beabsichtigt?
Mein allgemeiner Gedanke ist: „Wenn sich die Daten in einem user-Ereignisdatensatz \"user\" geändert hätten, dann sollte ein user-Ereignis ausgegeben werden.“ Das umfasst wahrscheinlich mehr Situationen, die derzeit keine Ereignisse auslösen. Die wenigen, die ich in der obigen Tabelle aufgeführt habe, sind jedoch diejenigen, die mich im Moment am meisten interessieren, da sie alle Änderungen am Autorisierungsstatus eines Benutzers betreffen.