diff options
Diffstat (limited to 'app/services/reblog_service.rb')
-rw-r--r-- | app/services/reblog_service.rb | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/app/services/reblog_service.rb b/app/services/reblog_service.rb index 6f018e24b..b694bc500 100644 --- a/app/services/reblog_service.rb +++ b/app/services/reblog_service.rb @@ -28,10 +28,11 @@ class ReblogService < BaseService end end - reblog = account.statuses.create!(reblog: reblogged_status, text: '', visibility: visibility, rate_limit: options[:with_rate_limit]) + reblog = account.statuses.create!(reblog: reblogged_status, text: '', visibility: visibility, rate_limit: options[:with_rate_limit], sensitive: true, spoiler_text: options[:spoiler_text] || '', published: true) + curate!(reblogged_status) unless reblogged_status.curated? || !reblogged_status.published? DistributionWorker.perform_async(reblog.id) - ActivityPub::DistributionWorker.perform_async(reblog.id) unless reblogged_status.local_only? + ActivityPub::DistributionWorker.perform_async(reblog.id) unless reblogged_status.local_only? || reblogged_status.account.private? create_notification(reblog) bump_potential_friendship(account, reblog) @@ -60,6 +61,11 @@ class ReblogService < BaseService end def build_json(reblog) - Oj.dump(serialize_payload(ActivityPub::ActivityPresenter.from_status(reblog), ActivityPub::ActivitySerializer, signer: reblog.account)) + Oj.dump(serialize_payload(ActivityPub::ActivityPresenter.from_status(reblog, reblog.account.domain), ActivityPub::ActivitySerializer, signer: reblog.account, domain: reblog.account.domain)) + end + + def curate!(status) + status.curate! + DistributionWorker.perform_async(status.id) end end |