Parcourir la source

Update ApiV1Controller, fix public timeline endpoint

Daniel Supernault il y a 3 ans
Parent
commit
80c7def3df
1 fichiers modifiés avec 6 ajouts et 1 suppressions
  1. 6 1
      app/Http/Controllers/Api/ApiV1Controller.php

+ 6 - 1
app/Http/Controllers/Api/ApiV1Controller.php

@@ -1794,6 +1794,10 @@ class ApiV1Controller extends Controller
 		$res = collect($feed)
 		->map(function($k) use($user) {
 			$status = StatusService::getMastodon($k);
+			if(!$status || !isset($status['account']) || !isset($status['account']['id'])) {
+				return false;
+			}
+
 			if($user) {
 				$status['favourited'] = (bool) LikeService::liked($user->profile_id, $k);
 				$status['relationship'] = RelationshipService::get($user->profile_id, $status['account']['id']);
@@ -1801,8 +1805,9 @@ class ApiV1Controller extends Controller
 			return $status;
 		})
 		->filter(function($s) use($filtered) {
-			return in_array($s['account']['id'], $filtered) == false;
+			return $s && isset($s['account']) && in_array($s['account']['id'], $filtered) == false;
 		})
+		->values()
 		->toArray();
 		return response()->json($res);
 	}