|
@@ -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();
|