<?php namespace App\Pdf; use App\Http\Controllers\Controller; use App\Invoice\DocumentFactory; use App\Invoice\Queries\SingleMemberQuery; use App\Member\Member; use Illuminate\Contracts\Support\Responsable; use Illuminate\Http\Request; use Illuminate\Http\Response; use Zoomyboy\Tex\Tex; class MemberPdfController extends Controller { /** * @return Response|Responsable */ public function __invoke(Request $request, Member $member) { $invoice = app(DocumentFactory::class)->singleInvoice($request->type, new SingleMemberQuery($member)); return null === $invoice ? response()->noContent() : Tex::compile($invoice); } }