浏览代码

Update ApiV1Controller, fix private status replies returning 404

Daniel Supernault 3 年之前
父节点
当前提交
73226360fc
共有 1 个文件被更改,包括 8 次插入2 次删除
  1. 8 2
      app/Http/Controllers/Api/ApiV1Controller.php

+ 8 - 2
app/Http/Controllers/Api/ApiV1Controller.php

@@ -2514,9 +2514,15 @@ class ApiV1Controller extends Controller
 
 		$limit = $request->input('limit', 3);
 		$pid = $request->user()->profile_id;
-		$status = StatusService::getMastodon($id);
+		$status = StatusService::getMastodon($id, false);
 
-		abort_if(!$status || !in_array($status['visibility'], ['public', 'unlisted']), 404);
+		abort_if(!$status, 404);
+
+		if($status['visibility'] == 'private') {
+			if($pid != $status['account']['id']) {
+				abort_unless(FollowerService::follows($pid, $status['account']['id']), 404);
+			}
+		}
 
 		$sortBy = $request->input('sort', 'all');