X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/42b9700673e7b2e5a04c9f888a05d98261ed36e3..c8cfec96dc11a3adaed7f7c3545ca35faa5deab3:/app/Exports/Controllers/BookExportApiController.php diff --git a/app/Exports/Controllers/BookExportApiController.php b/app/Exports/Controllers/BookExportApiController.php index 164946b0c..e2d0addc3 100644 --- a/app/Exports/Controllers/BookExportApiController.php +++ b/app/Exports/Controllers/BookExportApiController.php @@ -4,6 +4,7 @@ namespace BookStack\Exports\Controllers; use BookStack\Entities\Queries\BookQueries; use BookStack\Exports\ExportFormatter; +use BookStack\Exports\ZipExports\ZipExportBuilder; use BookStack\Http\ApiController; use Throwable; @@ -63,4 +64,15 @@ class BookExportApiController extends ApiController return $this->download()->directly($markdown, $book->slug . '.md'); } + + /** + * Export a book to a contained ZIP export file. + */ + public function exportZip(int $id, ZipExportBuilder $builder) + { + $book = $this->queries->findVisibleByIdOrFail($id); + $zip = $builder->buildForBook($book); + + return $this->download()->streamedFileDirectly($zip, $book->slug . '.zip', true); + } }