X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/a6633642232efd164d4708967ab59e498fbff896..refs/pull/3918/head:/app/Entities/Models/Bookshelf.php diff --git a/app/Entities/Models/Bookshelf.php b/app/Entities/Models/Bookshelf.php index 8ffd06d2e..ad52d9d37 100644 --- a/app/Entities/Models/Bookshelf.php +++ b/app/Entities/Models/Bookshelf.php @@ -1,22 +1,28 @@ -books()->visible(); + return $this->books()->scopes('visible'); } /** @@ -44,8 +50,10 @@ class Bookshelf extends Entity implements HasCoverImage /** * Returns BookShelf cover image, if cover does not exists return default cover image. - * @param int $width - Width of the image + * + * @param int $width - Width of the image * @param int $height - Height of the image + * * @return string */ public function getBookCover($width = 440, $height = 250) @@ -61,11 +69,12 @@ class Bookshelf extends Entity implements HasCoverImage } catch (\Exception $err) { $cover = $default; } + return $cover; } /** - * Get the cover image of the shelf + * Get the cover image of the shelf. */ public function cover(): BelongsTo { @@ -77,13 +86,11 @@ class Bookshelf extends Entity implements HasCoverImage */ public function coverImageTypeKey(): string { - return 'cover_shelf'; + return 'cover_bookshelf'; } /** * Check if this shelf contains the given book. - * @param Book $book - * @return bool */ public function contains(Book $book): bool { @@ -92,7 +99,6 @@ class Bookshelf extends Entity implements HasCoverImage /** * Add a book to the end of this shelf. - * @param Book $book */ public function appendBook(Book $book) { @@ -103,4 +109,13 @@ class Bookshelf extends Entity implements HasCoverImage $maxOrder = $this->books()->max('order'); $this->books()->attach($book->id, ['order' => $maxOrder + 1]); } + + /** + * Get a visible shelf by its slug. + * @throws \Illuminate\Database\Eloquent\ModelNotFoundException + */ + public static function getBySlug(string $slug): self + { + return static::visible()->where('slug', '=', $slug)->firstOrFail(); + } }