diff options
author | Thibaut Girka <thib@sitedethib.com> | 2018-07-15 18:17:37 +0200 |
---|---|---|
committer | Thibaut Girka <thib@sitedethib.com> | 2018-07-16 14:50:42 +0200 |
commit | f26f1145ac0fab4a657ee1fc784e824858601bd3 (patch) | |
tree | 3980b53a1440a8e6d4ee8c539668c3c190363017 /app/services | |
parent | 8e8491e1dab5e2ed98770710e0a32484de8530b3 (diff) | |
parent | 7a686082370ad6d1c7a7d0ad331c22bf3e1fbede (diff) |
Merge branch 'master' into glitch-soc/merge-upstream
Conflicts: Dockerfile app/javascript/packs/common.js config/webpack/loaders/sass.js config/webpack/shared.js db/schema.rb package.json yarn.lock A lot of the conflicts come from updating webpack. Even though upstream deleted app/javascript/packs/common.js, I kept glitch-soc's version as it unifies JS/CSS packs behavior across flavours. Ported glitch changes to webpack 4.x
Diffstat (limited to 'app/services')
-rw-r--r-- | app/services/remove_status_service.rb | 12 | ||||
-rw-r--r-- | app/services/suspend_account_service.rb | 12 |
2 files changed, 22 insertions, 2 deletions
diff --git a/app/services/remove_status_service.rb b/app/services/remove_status_service.rb index 238099169..fb889140b 100644 --- a/app/services/remove_status_service.rb +++ b/app/services/remove_status_service.rb @@ -90,6 +90,18 @@ class RemoveStatusService < BaseService ActivityPub::DeliveryWorker.push_bulk(@account.followers.inboxes) do |inbox_url| [signed_activity_json, @account.id, inbox_url] end + + relay! if relayable? + end + + def relayable? + @status.public_visibility? + end + + def relay! + ActivityPub::DeliveryWorker.push_bulk(Relay.enabled.pluck(:inbox_url)) do |inbox_url| + [signed_activity_json, @account.id, inbox_url] + end end def salmon_xml diff --git a/app/services/suspend_account_service.rb b/app/services/suspend_account_service.rb index 708d15e37..0a98f5fb9 100644 --- a/app/services/suspend_account_service.rb +++ b/app/services/suspend_account_service.rb @@ -22,7 +22,13 @@ class SuspendAccountService < BaseService end def purge_content! - ActivityPub::RawDistributionWorker.perform_async(delete_actor_json, @account.id) if @account.local? + if @account.local? + ActivityPub::RawDistributionWorker.perform_async(delete_actor_json, @account.id) + + ActivityPub::DeliveryWorker.push_bulk(Relay.enabled.pluck(:inbox_url)) do |inbox_url| + [delete_actor_json, @account.id, inbox_url] + end + end @account.statuses.reorder(nil).find_in_batches do |statuses| BatchedRemoveStatusService.new.call(statuses) @@ -59,12 +65,14 @@ class SuspendAccountService < BaseService end def delete_actor_json + return @delete_actor_json if defined?(@delete_actor_json) + payload = ActiveModelSerializers::SerializableResource.new( @account, serializer: ActivityPub::DeleteActorSerializer, adapter: ActivityPub::Adapter ).as_json - Oj.dump(ActivityPub::LinkedDataSignature.new(payload).sign!(@account)) + @delete_actor_json = Oj.dump(ActivityPub::LinkedDataSignature.new(payload).sign!(@account)) end end |