mirror of
https://github.com/discourse/discourse.git
synced 2025-05-22 04:01:18 +08:00
FEATURE: Add support for user badge revocation webhook events (#21204)
Currently, only user badge grants emit webhook events. This change extends the `user_badge` webhook to emit user badge revocation events. A new `user_badge_revoked` event has been introduced instead of relying on the existing `user_badge_removed` event. `user_badge_removed` emitted just the `badge_id` and `user_id` which aren't helpful for generating a meaningful webhook payload for revoked(deleted) user badges. The new event emits the user badge object.
This commit is contained in:
@ -48,7 +48,10 @@ class UserBadge < ActiveRecord::Base
|
||||
Badge.decrement_counter "grant_count", self.badge_id
|
||||
UserStat.update_distinct_badge_count self.user_id
|
||||
UserBadge.update_featured_ranks! self.user_id
|
||||
|
||||
# TODO: Follow up with a deprecation notice for `user_badge_removed`
|
||||
DiscourseEvent.trigger(:user_badge_removed, self.badge_id, self.user_id)
|
||||
DiscourseEvent.trigger(:user_badge_revoked, user_badge: self)
|
||||
end
|
||||
|
||||
def self.ensure_consistency!
|
||||
|
Reference in New Issue
Block a user