X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/ff8daad22b8d09def810bbcd58f1a76040ccf36f..refs/pull/5676/head:/app/Entities/Controllers/BookApiController.php diff --git a/app/Entities/Controllers/BookApiController.php b/app/Entities/Controllers/BookApiController.php index 15e67a0f7..a617ee2da 100644 --- a/app/Entities/Controllers/BookApiController.php +++ b/app/Entities/Controllers/BookApiController.php @@ -7,6 +7,7 @@ use BookStack\Entities\Models\Book; use BookStack\Entities\Models\Chapter; use BookStack\Entities\Models\Entity; use BookStack\Entities\Queries\BookQueries; +use BookStack\Entities\Queries\PageQueries; use BookStack\Entities\Repos\BookRepo; use BookStack\Entities\Tools\BookContents; use BookStack\Http\ApiController; @@ -18,6 +19,7 @@ class BookApiController extends ApiController public function __construct( protected BookRepo $bookRepo, protected BookQueries $queries, + protected PageQueries $pageQueries, ) { } @@ -28,6 +30,7 @@ class BookApiController extends ApiController { $books = $this->queries ->visibleForList() + ->with(['cover:id,name,url']) ->addSelect(['created_by', 'updated_by']); return $this->apiListingResponse($books, [ @@ -69,7 +72,8 @@ class BookApiController extends ApiController ->withType() ->withField('pages', function (Entity $entity) { if ($entity instanceof Chapter) { - return (new ApiEntityListFormatter($entity->pages->all()))->format(); + $pages = $this->pageQueries->visibleForChapterList($entity->id)->get()->all(); + return (new ApiEntityListFormatter($pages))->format(); } return null; })->format();