Files
InvoiceShelf/app/Domains/Sales/Http/Controllers/DocumentPdfController.php
T

41 lines
1.0 KiB
PHP

<?php
namespace App\Domains\Sales\Http\Controllers;
use App\Domains\Sales\Application\EstimateService;
use App\Domains\Sales\Application\InvoiceService;
use App\Domains\Sales\Models\Estimate;
use App\Domains\Sales\Models\Invoice;
use App\Platform\Http\Controller;
use Illuminate\Http\Request;
class DocumentPdfController extends Controller
{
public function __construct(
private readonly InvoiceService $invoiceService,
private readonly EstimateService $estimateService,
) {}
public function invoice(Request $request, Invoice $invoice)
{
if ($request->exists('preview')) {
return $this->invoiceService->getPdfData($invoice);
}
$pdf = $invoice->getGeneratedPDFOrStream('invoice');
return $pdf;
}
public function estimate(Request $request, Estimate $estimate)
{
if ($request->exists('preview')) {
return $this->estimateService->getPdfData($estimate);
}
$pdf = $estimate->getGeneratedPDFOrStream('estimate');
return $pdf;
}
}