Files
ABSDEV/Modules/Licensing/Http/Controllers/Customer/CustomerLicensingController.php
T
2026-10-12 15:18:07 +01:00

41 lines
1.1 KiB
PHP

<?php
namespace Modules\Licensing\Http\Controllers\Customer;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\View\View;
use Modules\Licensing\Models\License;
final class CustomerLicensingController extends Controller
{
public function index(Request $request): View
{
$email = mb_strtolower(trim((string) $request->user()->email));
$licenses = License::query()
->with('product')
->whereRaw('LOWER(customer_email) = ?', [$email])
->latest()
->paginate(15);
return view('licensing::customer.index', compact('licenses'));
}
public function show(Request $request, License $license): View
{
// Return 404, not 403, to avoid disclosing whether a licence exists.
abort_unless(
hash_equals(
mb_strtolower(trim((string) $license->customer_email)),
mb_strtolower(trim((string) $request->user()->email))
),
404
);
$license->load(['product', 'activations']);
return view('licensing::customer.show', compact('license'));
}
}