Przeglądaj źródła

Update LikePipeline, prevent duplicate like notifications

Daniel Supernault 7 lat temu
rodzic
commit
86efcceb4c
1 zmienionych plików z 8 dodań i 1 usunięć
  1. 8 1
      app/Jobs/LikePipeline/LikePipeline.php

+ 8 - 1
app/Jobs/LikePipeline/LikePipeline.php

@@ -37,7 +37,14 @@ class LikePipeline implements ShouldQueue
         $status = $this->like->status;
         $status = $this->like->status;
         $actor = $this->like->actor;
         $actor = $this->like->actor;
 
 
-        if($actor->id === $status->profile_id) {
+        $exists = Notification::whereProfileId($status->profile_id)
+                  ->whereActorId($actor->id)
+                  ->whereAction('like')
+                  ->whereItemId($status->id)
+                  ->whereItemType('App\Status')
+                  ->count();
+
+        if($actor->id === $status->profile_id || $exists !== 0) {
             return true;
             return true;
         }
         }