walletService = $walletService; } public function index() { $invoices = Auth::user()->invoices() ->with('document') ->latest() ->paginate(10) ->withQueryString() ->onEachSide(1); return Inertia::client('Dashboard/Invoices/Index', [ 'invoices' => InvoiceResource::collection($invoices), ]); } public function payWithWallet(Invoice $invoice) { abort_unless($invoice->user_id === Auth::id(), 403); $invoice = $this->walletService->payInvoice(Auth::user(), $invoice); return response()->json([ 'invoice' => new InvoiceResource($invoice), ]); } }