Fix wrong param name in scheduled statuses and return params in API (#9725)

The database column and API param are called in_reply_to_id, not
in_reply_to_status_id, so it makes no sense to encode it that way
remotes/1727458204337373841/tmp_refs/heads/signup-info-prompt
Eugen Rochko 2019-01-06 12:03:27 +01:00 committed by GitHub
parent 8ad57a0426
commit 1cbdf8d218
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 6 deletions

View File

@ -1,11 +1,15 @@
# frozen_string_literal: true
class REST::ScheduledStatusSerializer < ActiveModel::Serializer
attributes :id, :scheduled_at
attributes :id, :scheduled_at, :params
has_many :media_attachments, serializer: REST::MediaAttachmentSerializer
def id
object.id.to_s
end
def params
object.params.without(:application_id)
end
end

View File

@ -167,10 +167,10 @@ class PostStatusService < BaseService
def scheduled_options
@options.tap do |options_hash|
options_hash[:in_reply_to_status_id] = options_hash.delete(:thread)&.id
options_hash[:application_id] = options_hash.delete(:application)&.id
options_hash[:scheduled_at] = nil
options_hash[:idempotency] = nil
options_hash[:in_reply_to_id] = options_hash.delete(:thread)&.id
options_hash[:application_id] = options_hash.delete(:application)&.id
options_hash[:scheduled_at] = nil
options_hash[:idempotency] = nil
end
end
end

View File

@ -18,7 +18,7 @@ class PublishScheduledStatusWorker
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]
options_hash[:thread] = Status.find(options_hash.delete(:in_reply_to_id)) if options_hash[:in_reply_to_id]
end
end
end