mirror of
https://github.com/discourse/discourse.git
synced 2024-12-09 22:04:30 +08:00
25 lines
502 B
Ruby
25 lines
502 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.where(id: args[:user_id]).first
|
||
|
end
|
||
|
|
||
|
TopicRetriever.new(args[:embed_url], no_throttle: user.try(:staff?)).retrieve
|
||
|
end
|
||
|
|
||
|
end
|
||
|
|
||
|
end
|
||
|
|
||
|
|