discourse/app/models/concerns/has_destroyed_web_hook.rb
Krzysztof Kotlarek c468110929
FEATURE: granular webhooks ()
Before this change, webhooks could be only configured for specific groups like for example, all topic events.

We would like to have more granular control like for example topic_created or topic_destroyed.

Test are failing because plugins changed has to be merged as well:


2023-10-09 03:35:31 +00:00

20 lines
482 B
Ruby

# frozen_string_literal: true
module HasDestroyedWebHook
extend ActiveSupport::Concern
included { around_destroy :enqueue_destroyed_web_hook }
def enqueue_destroyed_web_hook
type = self.class.name.underscore.to_sym
if WebHook.active_web_hooks("#{type}_destroyed").exists?
payload = WebHook.generate_payload(type, self)
yield
WebHook.enqueue_hooks(type, "#{type}_destroyed".to_sym, id: id, payload: payload)
else
yield
end
end
end