Make sure Delete reaches collection owner (#38399)
This commit is contained in:
parent
e3dfb7ddd6
commit
2a4b205c75
@ -6,6 +6,7 @@ class RevokeCollectionItemService < BaseService
|
|||||||
def call(collection_item)
|
def call(collection_item)
|
||||||
@collection_item = collection_item
|
@collection_item = collection_item
|
||||||
@account = collection_item.account
|
@account = collection_item.account
|
||||||
|
@collection = @collection_item.collection
|
||||||
|
|
||||||
@collection_item.revoke!
|
@collection_item.revoke!
|
||||||
|
|
||||||
@ -15,7 +16,8 @@ class RevokeCollectionItemService < BaseService
|
|||||||
private
|
private
|
||||||
|
|
||||||
def distribute_stamp_deletion!
|
def distribute_stamp_deletion!
|
||||||
ActivityPub::AccountRawDistributionWorker.perform_async(signed_activity_json, @collection_item.collection.account_id)
|
ActivityPub::DeliveryWorker.perform_async(signed_activity_json, @account.id, @collection.account.inbox_url)
|
||||||
|
ActivityPub::AccountRawDistributionWorker.perform_async(signed_activity_json, @collection.account_id)
|
||||||
end
|
end
|
||||||
|
|
||||||
def signed_activity_json
|
def signed_activity_json
|
||||||
|
|||||||
@ -13,12 +13,14 @@ RSpec.describe RevokeCollectionItemService do
|
|||||||
end
|
end
|
||||||
|
|
||||||
context 'when the collection is remote', feature: :collections_federation do
|
context 'when the collection is remote', feature: :collections_federation do
|
||||||
let(:collection) { Fabricate(:remote_collection) }
|
let(:account) { Fabricate(:remote_account, inbox_url: 'https://example.com/actor/1/inbox') }
|
||||||
|
let(:collection) { Fabricate(:remote_collection, account:) }
|
||||||
let(:collection_item) { Fabricate(:collection_item, collection:, uri: 'https://example.com') }
|
let(:collection_item) { Fabricate(:collection_item, collection:, uri: 'https://example.com') }
|
||||||
|
|
||||||
it 'federates a `Delete` activity' do
|
it 'federates a `Delete` activity' do
|
||||||
subject.call(collection_item)
|
subject.call(collection_item)
|
||||||
|
|
||||||
|
expect(ActivityPub::DeliveryWorker).to have_enqueued_sidekiq_job.with(instance_of(String), collection_item.account_id, 'https://example.com/actor/1/inbox')
|
||||||
expect(ActivityPub::AccountRawDistributionWorker).to have_enqueued_sidekiq_job
|
expect(ActivityPub::AccountRawDistributionWorker).to have_enqueued_sidekiq_job
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user