+ $book = Book::visible()->findOrFail($id);
+ $this->checkOwnablePermission('book-update', $book);
+
+ $requestData = $this->validate($request, $this->rules['update']);
+ $book = $this->bookRepo->update($book, $requestData);
+ Activity::add($book, 'book_update', $book->id);
+
+ return response()->json($book);