]> BookStack Code Mirror - bookstack/blob - app/Entities/Queries/RecentlyViewed.php
Merge branch 'master' of https://github.com/jasonhoule/BookStack into jasonhoule...
[bookstack] / app / Entities / Queries / RecentlyViewed.php
1 <?php namespace BookStack\Entities\Queries;
2
3 use BookStack\Actions\View;
4 use Illuminate\Support\Collection;
5
6 class RecentlyViewed extends EntityQuery
7 {
8     public function run(int $count, int $page): Collection
9     {
10         $user = user();
11         if ($user === null || $user->isDefault()) {
12             return collect();
13         }
14
15         $query = $this->permissionService()->filterRestrictedEntityRelations(
16             View::query(),
17             'views',
18             'viewable_id',
19             'viewable_type',
20             'view'
21         )
22             ->orderBy('views.updated_at', 'desc')
23             ->where('user_id', '=', user()->id);
24
25         return $query->with('viewable')
26             ->skip(($page - 1) * $count)
27             ->take($count)
28             ->get()
29             ->pluck('viewable')
30             ->filter();
31     }
32 }