]> BookStack Code Mirror - bookstack/blobdiff - app/Entities/Queries/BookQueries.php
ZIP Imports: Added API examples, finished testing
[bookstack] / app / Entities / Queries / BookQueries.php
index 3d7474b3dfab6e9e9d22bda6154464c4999f326d..534640621eec1d206b05f2d4c12071850587a84c 100644 (file)
@@ -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