Browse Source

Refactor following check

Daniel Supernault 3 months ago
parent
commit
8082c004bc
2 changed files with 573 additions and 569 deletions
  1. 563 563
      app/Http/Controllers/AccountController.php
  2. 10 6
      app/Http/Controllers/PublicApiController.php

File diff suppressed because it is too large
+ 563 - 563
app/Http/Controllers/AccountController.php


+ 10 - 6
app/Http/Controllers/PublicApiController.php

@@ -788,6 +788,14 @@ class PublicApiController extends Controller
 
     private function determineVisibility($profile, $user)
     {
+        if (! $user || ! isset($user->profile_id)) {
+            return [];
+        }
+
+        if (! $profile || ! isset($profile['id'])) {
+            return [];
+        }
+
         if ($profile['id'] == $user->profile_id) {
             return ['public', 'unlisted', 'private'];
         }
@@ -798,17 +806,13 @@ class PublicApiController extends Controller
             }
 
             $pid = $user->profile_id;
-            $isFollowing = Follower::whereProfileId($pid)
-                ->whereFollowingId($profile['id'])
-                ->exists();
+            $isFollowing = FollowerService::follows($pid, $profile['id']);
 
             return $isFollowing ? ['public', 'unlisted', 'private'] : ['public'];
         } else {
             if ($user) {
                 $pid = $user->profile_id;
-                $isFollowing = Follower::whereProfileId($pid)
-                    ->whereFollowingId($profile['id'])
-                    ->exists();
+                $isFollowing = FollowerService::follows($pid, $profile['id']);
 
                 return $isFollowing ? ['public', 'unlisted', 'private'] : ['public', 'unlisted'];
             } else {

Some files were not shown because too many files changed in this diff