Files
mastodon/app/services/revoke_collection_item_service.rb
jcoffey-dev 4dfbb64241
Chromatic / Check for relevant changes (push) Canceled after 0s
Chromatic / Run Chromatic (push) Canceled after 0s
Import Mastodon v4.7.4
Snapshot of upstream tag v4.7.4 (commit d04059fc80be5cbba6b4dd5a8b94d63ffff09f2c) from
https://github.com/mastodon/mastodon, unmodified.
2026-10-29 08:11:58 -07:00

27 lines
814 B
Ruby

# frozen_string_literal: true
class RevokeCollectionItemService < BaseService
include Payloadable
def call(collection_item)
@collection_item = collection_item
@account = collection_item.account
@collection = @collection_item.collection
@collection_item.revoke!
distribute_stamp_deletion!
end
private
def distribute_stamp_deletion!
ActivityPub::DeliveryWorker.perform_async(signed_activity_json, @account.id, @collection.account.inbox_url) if @collection_item.remote?
ActivityPub::CollectionRawDistributionWorker.perform_async(signed_activity_json, @collection.id)
end
def signed_activity_json
@signed_activity_json ||= serialize_payload(@collection_item, ActivityPub::DeleteFeatureAuthorizationSerializer, signer: @account, always_sign: true).to_json
end
end