discourse/app/jobs/regular/retrieve_topic.rb
Justin Leveck a78df3d57d Add custom embed_by_username feature
Feature to allow each imported post to be created using a different discourse
username. A possible use case of this is a multi-author blog where discourse
is being used to track comments. This feature allows authors to receive
updates when someone leaves a comment on one of their articles because each of
the imported posts can be created using the discourse username of the author.
2014-06-09 12:35:38 -07:00

24 lines
538 B
Ruby

require_dependency 'email/sender'
require_dependency 'topic_retriever'
module Jobs
# Asynchronously retrieve a topic from an embedded site
class RetrieveTopic < Jobs::Base
def execute(args)
raise Discourse::InvalidParameters.new(:embed_url) unless args[:embed_url].present?
user = nil
if args[:user_id]
user = User.find_by(id: args[:user_id])
end
TopicRetriever.new(args[:embed_url], author_username: args[:author_username], no_throttle: user.try(:staff?)).retrieve
end
end
end