about summary refs log blame commit diff
path: root/app/lib/ostatus/activity/deletion.rb
blob: c98f5ee0ad9b063a55a5c8bda1a3b7eeb9198be2 (plain) (tree)
1
2
3
4
5
6
7
8
                             
                                                           
                                                     

                                                                                          






                                                                            
# frozen_string_literal: true

class OStatus::Activity::Deletion < OStatus::Activity::Base
  def perform
    Rails.logger.debug "Deleting remote status #{id}"

    status   = Status.find_by(uri: id, account: @account)
    status ||= Status.find_by(uri: activitypub_uri, account: @account) if activitypub_uri?

    if status.nil?
      redis.setex("delete_upon_arrival:#{@account.id}:#{id}", 6 * 3_600, id)
    else
      RemoveStatusService.new.call(status)
    end
  end
end