Add scheduled statuses (#9706)

Fix #340
This commit is contained in:
Eugen Rochko
2019-01-05 12:43:28 +01:00
committed by GitHub
parent b17b2f25ac
commit a49d43d112
29 changed files with 437 additions and 103 deletions

View File

@ -0,0 +1,24 @@
# frozen_string_literal: true
class PublishScheduledStatusWorker
include Sidekiq::Worker
def perform(scheduled_status_id)
scheduled_status = ScheduledStatus.find(scheduled_status_id)
scheduled_status.destroy!
PostStatusService.new.call(
scheduled_status.account,
options_with_objects(scheduled_status.params.with_indifferent_access)
)
rescue ActiveRecord::RecordNotFound, ActiveRecord::RecordInvalid
true
end
def options_with_objects(options)
options.tap do |options_hash|
options_hash[:application] = Doorkeeper::Application.find(options_hash.delete(:application_id)) if options[:application_id]
options_hash[:thread] = Status.find(options_hash.delete(:in_reply_to_status_id)) if options_hash[:in_reply_to_status_id]
end
end
end