X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/d28abf24d404fe4eb281866e6d37d704602e87a0..refs/pull/2393/head:/app/Http/Controllers/BookExportController.php diff --git a/app/Http/Controllers/BookExportController.php b/app/Http/Controllers/BookExportController.php index d0294ec35..1c1f12442 100644 --- a/app/Http/Controllers/BookExportController.php +++ b/app/Http/Controllers/BookExportController.php @@ -2,73 +2,54 @@ namespace BookStack\Http\Controllers; -use BookStack\Entities\ExportService; -use BookStack\Entities\Repos\EntityRepo; -use BookStack\Exceptions\NotFoundException; +use BookStack\Entities\Tools\ExportFormatter; +use BookStack\Entities\Repos\BookRepo; use Throwable; class BookExportController extends Controller { - /** - * @var EntityRepo - */ - protected $entityRepo; - /** - * @var ExportService - */ - protected $exportService; + protected $bookRepo; + protected $exportFormatter; /** * BookExportController constructor. - * @param EntityRepo $entityRepo - * @param ExportService $exportService */ - public function __construct(EntityRepo $entityRepo, ExportService $exportService) + public function __construct(BookRepo $bookRepo, ExportFormatter $exportFormatter) { - $this->entityRepo = $entityRepo; - $this->exportService = $exportService; - parent::__construct(); + $this->bookRepo = $bookRepo; + $this->exportFormatter = $exportFormatter; } /** * Export a book as a PDF file. - * @param string $bookSlug - * @return mixed - * @throws NotFoundException * @throws Throwable */ public function pdf(string $bookSlug) { - $book = $this->entityRepo->getBySlug('book', $bookSlug); - $pdfContent = $this->exportService->bookToPdf($book); + $book = $this->bookRepo->getBySlug($bookSlug); + $pdfContent = $this->exportFormatter->bookToPdf($book); return $this->downloadResponse($pdfContent, $bookSlug . '.pdf'); } /** * Export a book as a contained HTML file. - * @param string $bookSlug - * @return mixed - * @throws NotFoundException * @throws Throwable */ public function html(string $bookSlug) { - $book = $this->entityRepo->getBySlug('book', $bookSlug); - $htmlContent = $this->exportService->bookToContainedHtml($book); + $book = $this->bookRepo->getBySlug($bookSlug); + $htmlContent = $this->exportFormatter->bookToContainedHtml($book); return $this->downloadResponse($htmlContent, $bookSlug . '.html'); } /** * Export a book as a plain text file. - * @param $bookSlug - * @return mixed - * @throws NotFoundException */ public function plainText(string $bookSlug) { - $book = $this->entityRepo->getBySlug('book', $bookSlug); - $textContent = $this->exportService->bookToPlainText($book); + $book = $this->bookRepo->getBySlug($bookSlug); + $textContent = $this->exportFormatter->bookToPlainText($book); return $this->downloadResponse($textContent, $bookSlug . '.txt'); } }