Daniel Supernault 5 лет назад
Родитель
Сommit
d06622b7d4
1 измененных файлов с 11 добавлено и 7 удалено
  1. 11 7
      app/Util/ActivityPub/Inbox.php

+ 11 - 7
app/Util/ActivityPub/Inbox.php

@@ -307,11 +307,8 @@ class Inbox
         $id = $this->payload['object']['id'];
         switch ($type) {
             case 'Person':
-                    $profile = Profile::whereNull('domain')
-                        ->whereNull('private_key')
-                        ->whereRemoteUrl($id)
-                        ->first();
-                    if(!$profile) {
+                    $profile = Helpers::fetchProfile($actor);
+                    if(!$profile || $profile->private_key != null) {
                         return;
                     }
                     Notification::whereActorId($profile->id)->delete();
@@ -326,11 +323,18 @@ class Inbox
                 break;
 
             case 'Tombstone':
-                    $status = Status::whereUri($id)->orWhere('object_url', $id)->first();
+                    $profile = Helpers::fetchProfile($actor);
+                    $status = Status::whereProfileId($profile->id)
+                        ->whereUri($id)
+                        ->orWhereUrl($id)
+                        ->orWhere('object_url', $id)
+                        ->first();
                     if(!$status) {
                         return;
                     }
-                    $status->media->delete();
+                    $status->media()->delete();
+                    $status->likes()->delete();
+                    $status->shares()->delete();
                     $status->delete();
                     return;
                 break;