Attempting to update a deleted post through the API returns a 500
error. The error is undefined method 'id' for nil:NilClass
. It’s coming from web_hook.rb
.
The problem is that when publishing with the All Users API key the post update
method is calling
post = post.with_deleted if guardian.is_staff?
. The deleted post is then being used to trigger a DiscourseEvent
.
My reason for wanting to get a better response when a deleted post is updated is so that the WP Discourse plugin can use the response to remove the Discourse metadata it has saved for a post. It’s not safe for the plugin to assume that a 500
response means that the post has been deleted.