Update StoryController, fix postgres bug. Fixes #2904

This commit is contained in:
Daniel Supernault 2021-09-06 01:41:24 -06:00
parent 32995064ec
commit 00c32360ae
No known key found for this signature in database
GPG key ID: 0DEF1C662C9033F7

View file

@ -36,13 +36,28 @@ class StoryController extends StoryComposeController
abort_if(!config_cache('instance.stories.enabled') || !$request->user(), 404);
$pid = $request->user()->profile_id;
$s = Story::select('stories.*', 'followers.following_id')
->leftJoin('followers', 'followers.following_id', 'stories.profile_id')
->where('followers.profile_id', $pid)
->where('stories.active', true)
->groupBy('followers.following_id')
->orderByDesc('id')
->get();
if(config('database.default') == 'pgsql') {
$s = Story::select('stories.*', 'followers.following_id')
->leftJoin('followers', 'followers.following_id', 'stories.profile_id')
->where('followers.profile_id', $pid)
->where('stories.active', true)
->get()
->map(function($s) {
$r = new \StdClass;
$r->id = $s->id;
$r->profile_id = $s->profile_id;
return $r;
})
->unique('profile_id');
} else {
$s = Story::select('stories.*', 'followers.following_id')
->leftJoin('followers', 'followers.following_id', 'stories.profile_id')
->where('followers.profile_id', $pid)
->where('stories.active', true)
->groupBy('followers.following_id')
->orderByDesc('id')
->get();
}
$res = $s->map(function($s) use($pid) {
$profile = AccountService::get($s->profile_id);