about summary refs log tree commit diff
path: root/app/lib/ostatus/activity/deletion.rb
blob: c98f5ee0ad9b063a55a5c8bda1a3b7eeb9198be2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 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