mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-04-25 02:10:39 +00:00
38 lines
1.1 KiB
PHP
38 lines
1.1 KiB
PHP
<?php
|
|
namespace Domain\Invoices\Controllers;
|
|
|
|
use Domain\Settings\Models\Setting;
|
|
use Illuminate\Contracts\View\View;
|
|
use App\Http\Controllers\Controller;
|
|
use Illuminate\Contracts\View\Factory;
|
|
use Illuminate\Contracts\Foundation\Application;
|
|
use App\Users\Actions\FormatUsageEstimatesAction;
|
|
use VueFileManager\Subscription\Domain\Transactions\Models\Transaction;
|
|
|
|
class GetInvoiceController extends Controller
|
|
{
|
|
public function __construct(
|
|
public FormatUsageEstimatesAction $formatUsageEstimates,
|
|
) {
|
|
}
|
|
|
|
public function __invoke(Transaction $invoice): View|Factory|Application
|
|
{
|
|
// Get app settings
|
|
$settings = json_decode(
|
|
Setting::all()
|
|
->pluck('value', 'name')
|
|
);
|
|
|
|
// Format metadata
|
|
if ($invoice->metadata) {
|
|
$invoice->metadata = ($this->formatUsageEstimates)($invoice->currency, $invoice->metadata);
|
|
}
|
|
|
|
// Return invoice view
|
|
return view('vuefilemanager.invoice')
|
|
->with('settings', $settings)
|
|
->with('invoice', $invoice);
|
|
}
|
|
}
|