mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
FIX: Generate webhook payloads before destroy events (#6325)
This commit is contained in:
committed by
Guo Xiang Tan
parent
5b630f3188
commit
8430ea927e
@@ -45,6 +45,14 @@ class PostDestroyer
|
||||
end
|
||||
|
||||
def destroy
|
||||
payload = WebHook.generate_payload(:post, @post)
|
||||
topic = @post.topic
|
||||
|
||||
if @post.is_first_post? && topic
|
||||
topic_view = TopicView.new(topic.id, Discourse.system_user)
|
||||
topic_payload = WebHook.generate_payload(:topic, topic_view, WebHookTopicViewSerializer)
|
||||
end
|
||||
|
||||
delete_removed_posts_after = @opts[:delete_removed_posts_after] || SiteSetting.delete_removed_posts_after
|
||||
|
||||
if @user.staff? || delete_removed_posts_after < 1
|
||||
@@ -53,9 +61,19 @@ class PostDestroyer
|
||||
mark_for_deletion(delete_removed_posts_after)
|
||||
end
|
||||
DiscourseEvent.trigger(:post_destroyed, @post, @opts, @user)
|
||||
WebHook.enqueue_hooks(:post, :post_destroyed,
|
||||
id: @post.id,
|
||||
category_id: @post&.topic&.category_id,
|
||||
payload: payload
|
||||
)
|
||||
|
||||
if @post.is_first_post? && @post.topic
|
||||
DiscourseEvent.trigger(:topic_destroyed, @post.topic, @user)
|
||||
WebHook.enqueue_hooks(:topic, :topic_destroyed,
|
||||
id: topic.id,
|
||||
category_id: topic&.category_id,
|
||||
payload: topic_payload
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user