fetchesTransaction = $fetchesTransaction; $this->fetchesCompany = $fetchesCompany; } /** * @param Request $request * @return string|\Symfony\Component\HttpFoundation\Response * @throws \App\Classes\Exceptions\MalformedRequestException */ public function execute(Request $request) { $transaction = $this->fetchesTransaction->execute(['id' => $request->route('id')]); $booking = $transaction->booking; $supplier = $this->fetchesCompany->execute(['id' => $transaction->receiver]); $pdf = LaravelMpdf::loadView('pages.pdfs.credit_note', ['transaction' => $transaction, 'booking' => $booking, 'supplier' => $supplier]); $exportFileName = 'CreditNote.pdf'; $filesystemDriver = Storage::getDefaultDriver(); if($filesystemDriver === 's3'){ $pdfContent = $pdf->output(); return response([ 'src' => AWSS3Helper::S3PDF($exportFileName, $pdfContent) ]); } else{ return $pdf->stream($exportFileName); } } }