3 namespace BookStack\Users\Queries;
5 use BookStack\Entities\Queries\EntityQueries;
6 use BookStack\Users\Models\User;
9 * Get asset created counts for the given user.
11 class UserContentCounts
13 public function __construct(
14 protected EntityQueries $queries,
20 * @return array{pages: int, chapters: int, books: int, shelves: int}
22 public function run(User $user): array
24 $createdBy = ['created_by' => $user->id];
27 'pages' => $this->queries->pages->visibleForList()->where($createdBy)->count(),
28 'chapters' => $this->queries->chapters->visibleForList()->where($createdBy)->count(),
29 'books' => $this->queries->books->visibleForList()->where($createdBy)->count(),
30 'shelves' => $this->queries->shelves->visibleForList()->where($createdBy)->count(),