X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/222c665018cd7fc231d2970307e3a7423e4a377f..refs/pull/5721/head:/app/Entities/Queries/BookQueries.php diff --git a/app/Entities/Queries/BookQueries.php b/app/Entities/Queries/BookQueries.php index 3d7474b3d..534640621 100644 --- a/app/Entities/Queries/BookQueries.php +++ b/app/Entities/Queries/BookQueries.php @@ -8,6 +8,11 @@ use Illuminate\Database\Eloquent\Builder; class BookQueries implements ProvidesEntityQueries { + protected static array $listAttributes = [ + 'id', 'slug', 'name', 'description', + 'created_at', 'updated_at', 'image_id', 'owned_by', + ]; + public function start(): Builder { return Book::query(); @@ -18,6 +23,11 @@ class BookQueries implements ProvidesEntityQueries return $this->start()->scopes('visible')->find($id); } + public function findVisibleByIdOrFail(int $id): Book + { + return $this->start()->scopes('visible')->findOrFail($id); + } + public function findVisibleBySlugOrFail(string $slug): Book { /** @var ?Book $book */ @@ -35,7 +45,8 @@ class BookQueries implements ProvidesEntityQueries public function visibleForList(): Builder { - return $this->start()->scopes('visible'); + return $this->start()->scopes('visible') + ->select(static::$listAttributes); } public function visibleForListWithCover(): Builder