From a49d43d1121ac10f96d5a9cbf78112c707e7a59e Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sat, 5 Jan 2019 12:43:28 +0100 Subject: Add scheduled statuses (#9706) Fix #340 --- app/serializers/rest/scheduled_status_serializer.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 app/serializers/rest/scheduled_status_serializer.rb (limited to 'app/serializers/rest') diff --git a/app/serializers/rest/scheduled_status_serializer.rb b/app/serializers/rest/scheduled_status_serializer.rb new file mode 100644 index 000000000..522991bcf --- /dev/null +++ b/app/serializers/rest/scheduled_status_serializer.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +class REST::ScheduledStatusSerializer < ActiveModel::Serializer + attributes :id, :scheduled_at + + has_many :media_attachments, serializer: REST::MediaAttachmentSerializer + + def id + object.id.to_s + end +end -- cgit From 1cbdf8d218dcd07889d14e4f5f22a4339bddb879 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sun, 6 Jan 2019 12:03:27 +0100 Subject: 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 --- app/serializers/rest/scheduled_status_serializer.rb | 6 +++++- app/services/post_status_service.rb | 8 ++++---- app/workers/publish_scheduled_status_worker.rb | 2 +- 3 files changed, 10 insertions(+), 6 deletions(-) (limited to 'app/serializers/rest') diff --git a/app/serializers/rest/scheduled_status_serializer.rb b/app/serializers/rest/scheduled_status_serializer.rb index 522991bcf..5d6311b87 100644 --- a/app/serializers/rest/scheduled_status_serializer.rb +++ b/app/serializers/rest/scheduled_status_serializer.rb @@ -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 diff --git a/app/services/post_status_service.rb b/app/services/post_status_service.rb index 07fd969e5..260765edf 100644 --- a/app/services/post_status_service.rb +++ b/app/services/post_status_service.rb @@ -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 diff --git a/app/workers/publish_scheduled_status_worker.rb b/app/workers/publish_scheduled_status_worker.rb index 298a13001..641fcc61c 100644 --- a/app/workers/publish_scheduled_status_worker.rb +++ b/app/workers/publish_scheduled_status_worker.rb @@ -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 -- cgit