|
|
|
|
@ -89,6 +89,26 @@ class PublicApiController extends Controller
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function getStatus(Request $request, $id)
|
|
|
|
|
{
|
|
|
|
|
abort_if(!$request->user(), 403);
|
|
|
|
|
$status = StatusService::get($id, false);
|
|
|
|
|
abort_if(!$status, 404);
|
|
|
|
|
if(in_array($status['visibility'], ['public', 'unlisted'])) {
|
|
|
|
|
return $status;
|
|
|
|
|
}
|
|
|
|
|
$pid = $request->user()->profile_id;
|
|
|
|
|
if($status['account']['id'] == $pid) {
|
|
|
|
|
return $status;
|
|
|
|
|
}
|
|
|
|
|
if($status['visibility'] == 'private') {
|
|
|
|
|
if(FollowerService::follows($pid, $status['account']['id'])) {
|
|
|
|
|
return $status;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
abort(404);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function status(Request $request, $username, int $postid)
|
|
|
|
|
{
|
|
|
|
|
$profile = Profile::whereUsername($username)->whereNull('status')->firstOrFail();
|
|
|
|
|
|