Fix unexpected return error.

This commit is contained in:
Guo Xiang Tan
2018-05-21 22:28:30 +08:00
parent bb12fa3fdc
commit ae3a7ca08d

View File

@ -52,49 +52,52 @@ class WebHook < ActiveRecord::Base
def self.enqueue_object_hooks(type, object, event, serializer = nil) def self.enqueue_object_hooks(type, object, event, serializer = nil)
Scheduler::Defer.later("Enqueue User Webhook") do Scheduler::Defer.later("Enqueue User Webhook") do
web_hooks = active_web_hooks(type) web_hooks = active_web_hooks(type)
return if web_hooks.empty? unless web_hooks.empty?
serializer ||= "WebHook#{type.capitalize}Serializer".constantize serializer ||= "WebHook#{type.capitalize}Serializer".constantize
WebHook.enqueue_hooks(type, { WebHook.enqueue_hooks(type, {
event_name: event.to_s, event_name: event.to_s,
payload: serializer.new(object, payload: serializer.new(object,
scope: self.guardian, scope: self.guardian,
root: false root: false
).to_json ).to_json
}, web_hooks) }, web_hooks)
end
end end
end end
def self.enqueue_topic_hooks(event, topic) def self.enqueue_topic_hooks(event, topic)
Scheduler::Defer.later("Enqueue Topic Webhook") do Scheduler::Defer.later("Enqueue Topic Webhook") do
web_hooks = active_web_hooks('topic') web_hooks = active_web_hooks('topic')
return if web_hooks.empty? unless web_hooks.empty?
topic_view = TopicView.new(topic.id, Discourse.system_user) topic_view = TopicView.new(topic.id, Discourse.system_user)
WebHook.enqueue_hooks(:topic, { WebHook.enqueue_hooks(:topic, {
category_id: topic&.category_id, category_id: topic&.category_id,
event_name: event.to_s, event_name: event.to_s,
payload: WebHookTopicViewSerializer.new(topic_view, payload: WebHookTopicViewSerializer.new(topic_view,
scope: self.guardian, scope: self.guardian,
root: false root: false
).to_json ).to_json
}, web_hooks) }, web_hooks)
end
end end
end end
def self.enqueue_post_hooks(event, post) def self.enqueue_post_hooks(event, post)
Scheduler::Defer.later("Enqueue Post Webhook") do Scheduler::Defer.later("Enqueue Post Webhook") do
web_hooks = active_web_hooks('post') web_hooks = active_web_hooks('post')
return if web_hooks.empty?
WebHook.enqueue_hooks(:post, { unless web_hooks.empty?
category_id: post&.topic&.category_id, WebHook.enqueue_hooks(:post, {
event_name: event.to_s, category_id: post&.topic&.category_id,
payload: WebHookPostSerializer.new(post, event_name: event.to_s,
scope: self.guardian, payload: WebHookPostSerializer.new(post,
root: false scope: self.guardian,
).to_json root: false
}, web_hooks) ).to_json
}, web_hooks)
end
end end
end end