Files
nexus/app/Domains/Rechnung/Controllers/GeneratePdfController.php

24 lines
721 B
PHP

<?php
namespace App\Domains\Rechnung\Controllers;
use App\Domains\Rechnung\Actions\GeneratePdf\GeneratePdfCommand;
use App\Domains\Rechnung\Actions\GeneratePdf\GeneratePdfRequest;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
class GeneratePdfController
{
public function __invoke(Request $request): Response
{
$pdfRequest = GeneratePdfRequest::fromArray($request->all());
$command = new GeneratePdfCommand($pdfRequest);
$result = $command->execute();
return response($result->pdfContent, 200, [
'Content-Type' => 'application/pdf',
'Content-Disposition' => 'inline; filename="' . $result->filename . '"',
]);
}
}