mirror of
https://github.com/pixelfed/pixelfed.git
synced 2024-11-10 00:34:50 +00:00
Fix unlisted post web redirect and api response
This commit is contained in:
parent
877608db47
commit
6033d83726
3 changed files with 11 additions and 2 deletions
|
@ -118,7 +118,9 @@ class PublicApiController extends Controller
|
||||||
$status = Status::whereProfileId($profile->id)->findOrFail($postid);
|
$status = Status::whereProfileId($profile->id)->findOrFail($postid);
|
||||||
$this->scopeCheck($profile, $status);
|
$this->scopeCheck($profile, $status);
|
||||||
if(!$request->user()) {
|
if(!$request->user()) {
|
||||||
$res = ['status' => StatusService::get($status->id)];
|
$cached = StatusService::get($status->id, false);
|
||||||
|
abort_if(!in_array($cached['visibility'], ['public', 'unlisted']), 403);
|
||||||
|
$res = ['status' => $cached];
|
||||||
} else {
|
} else {
|
||||||
$item = new Fractal\Resource\Item($status, new StatusStatelessTransformer());
|
$item = new Fractal\Resource\Item($status, new StatusStatelessTransformer());
|
||||||
$res = [
|
$res = [
|
||||||
|
|
|
@ -27,7 +27,11 @@ class SpaController extends Controller
|
||||||
return view('layouts.spa');
|
return view('layouts.spa');
|
||||||
}
|
}
|
||||||
|
|
||||||
$post = StatusService::get($id);
|
$post = StatusService::get($id, false);
|
||||||
|
|
||||||
|
if($post && !in_array($post['visibility'], ['public', 'unlisted'])) {
|
||||||
|
return redirect('/login');
|
||||||
|
}
|
||||||
|
|
||||||
if(
|
if(
|
||||||
$post &&
|
$post &&
|
||||||
|
|
|
@ -6,6 +6,7 @@ use App\AccountInterstitial;
|
||||||
use App\Status;
|
use App\Status;
|
||||||
use Cache;
|
use Cache;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
|
use App\Services\StatusService;
|
||||||
|
|
||||||
class Bouncer {
|
class Bouncer {
|
||||||
|
|
||||||
|
@ -134,6 +135,8 @@ class Bouncer {
|
||||||
// $status->is_nsfw = true;
|
// $status->is_nsfw = true;
|
||||||
$status->save();
|
$status->save();
|
||||||
|
|
||||||
|
StatusService::del($status->id);
|
||||||
|
|
||||||
Cache::forget('pf:bouncer_v0:exemption_by_pid:' . $status->profile_id);
|
Cache::forget('pf:bouncer_v0:exemption_by_pid:' . $status->profile_id);
|
||||||
Cache::forget('pf:bouncer_v0:recent_by_pid:' . $status->profile_id);
|
Cache::forget('pf:bouncer_v0:recent_by_pid:' . $status->profile_id);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue