diff --git a/app/lib/activitypub/activity/delete.rb b/app/lib/activitypub/activity/delete.rb index 767909fb11a1468d1c09c64448d4d940d5c957f1..9d804c86df7c4aff8db4698312ec47df41239b7b 100644 --- a/app/lib/activitypub/activity/delete.rb +++ b/app/lib/activitypub/activity/delete.rb @@ -2,6 +2,20 @@ class ActivityPub::Activity::Delete < ActivityPub::Activity def perform + if @account.uri == object_uri + delete_person + else + delete_note + end + end + + private + + def delete_person + SuspendAccountService.new.call(@account) + end + + def delete_note status = Status.find_by(uri: object_uri, account: @account) status ||= Status.find_by(uri: @object['_:atomUri'], account: @account) if @object.is_a?(Hash) && @object['_:atomUri'].present? @@ -13,8 +27,6 @@ class ActivityPub::Activity::Delete < ActivityPub::Activity delete_now!(status) end - private - def forward_for_reblogs(status) return if @json['signature'].blank?