]> BookStack Code Mirror - bookstack/blobdiff - app/Http/Controllers/Api/BookshelfApiController.php
Fix Crowdin name in the language_request issue template
[bookstack] / app / Http / Controllers / Api / BookshelfApiController.php
index c29e5b0ae4c2d656843a6789503b619a278431aa..2720d1db2a15c71c74ec9bee5c7216eaaf0c83e5 100644 (file)
@@ -11,21 +11,20 @@ use Illuminate\Validation\ValidationException;
 
 class BookshelfApiController extends ApiController
 {
-    /**
-     * @var BookshelfRepo
-     */
-    protected $bookshelfRepo;
+    protected BookshelfRepo $bookshelfRepo;
 
     protected $rules = [
         'create' => [
-            'name'        => 'required|string|max:255',
-            'description' => 'string|max:1000',
-            'books'       => 'array',
+            'name'        => ['required', 'string', 'max:255'],
+            'description' => ['string', 'max:1000'],
+            'books'       => ['array'],
+            'tags'        => ['array'],
         ],
         'update' => [
-            'name'        => 'string|min:1|max:255',
-            'description' => 'string|max:1000',
-            'books'       => 'array',
+            'name'        => ['string', 'min:1', 'max:255'],
+            'description' => ['string', 'max:1000'],
+            'books'       => ['array'],
+            'tags'        => ['array'],
         ],
     ];
 
@@ -45,7 +44,7 @@ class BookshelfApiController extends ApiController
         $shelves = Bookshelf::visible();
 
         return $this->apiListingResponse($shelves, [
-            'id', 'name', 'slug', 'description', 'created_at', 'updated_at', 'created_by', 'updated_by', 'owned_by', 'image_id',
+            'id', 'name', 'slug', 'description', 'created_at', 'updated_at', 'created_by', 'updated_by', 'owned_by',
         ]);
     }
 
@@ -75,7 +74,7 @@ class BookshelfApiController extends ApiController
         $shelf = Bookshelf::visible()->with([
             'tags', 'cover', 'createdBy', 'updatedBy', 'ownedBy',
             'books' => function (BelongsToMany $query) {
-                $query->visible()->get(['id', 'name', 'slug']);
+                $query->scopes('visible')->get(['id', 'name', 'slug']);
             },
         ])->findOrFail($id);