From eea81a3e9a93aa6eab949b560b25221674936e5f Mon Sep 17 00:00:00 2001 From: root Date: Sun, 24 May 2026 14:20:22 +0200 Subject: [PATCH] Fix middleware class collision (RadioApiKey -> alias), add missing setup.do and setup.reset routes, fix SSE int type cast --- .../Admin/RadioSetupController.php | 22 +++++++++++++++++++ app/Http/Middleware/RadioApiKey.php | 4 ++-- routes/admin.php | 2 ++ 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Admin/RadioSetupController.php b/app/Http/Controllers/Admin/RadioSetupController.php index 7a08b70..5699690 100755 --- a/app/Http/Controllers/Admin/RadioSetupController.php +++ b/app/Http/Controllers/Admin/RadioSetupController.php @@ -107,6 +107,28 @@ class RadioSetupController extends Controller } } + public function doSetup(Request $request): RedirectResponse + { + return $this->setup($request); + } + + public function reset(): RedirectResponse + { + try { + WebsiteSetting::where('key', 'like', 'radio_%')->delete(); + WebsiteSetting::where('key', 'like', 'points_%')->delete(); + + Artisan::call('config:clear'); + Artisan::call('cache:clear'); + + return redirect()->route('admin.radio.setup') + ->with('success', 'Radio instellingen zijn gereset.'); + } catch (\Exception $e) { + return redirect()->route('admin.radio.setup') + ->with('error', 'Fout bij resetten: ' . $e->getMessage()); + } + } + private function createDefaultRanks(): void { $ranks = [ diff --git a/app/Http/Middleware/RadioApiKey.php b/app/Http/Middleware/RadioApiKey.php index fe3030f..aee09fa 100755 --- a/app/Http/Middleware/RadioApiKey.php +++ b/app/Http/Middleware/RadioApiKey.php @@ -4,7 +4,7 @@ declare(strict_types=1); namespace App\Http\Middleware; -use App\Models\RadioApiKey; +use App\Models\RadioApiKey as RadioApiKeyModel; use Closure; use Illuminate\Http\Request; use Symfony\Component\HttpFoundation\Response; @@ -21,7 +21,7 @@ class RadioApiKey ], 401); } - $apiKey = RadioApiKey::active()->where('key', $key)->first(); + $apiKey = RadioApiKeyModel::active()->where('key', $key)->first(); if (! $apiKey) { return response()->json([ diff --git a/routes/admin.php b/routes/admin.php index 319f7a2..b9eba7e 100755 --- a/routes/admin.php +++ b/routes/admin.php @@ -9,6 +9,8 @@ use Illuminate\Support\Facades\Route; Route::prefix('admin')->group(function () { Route::get('/radio/setup', [RadioSetupController::class, 'index'])->name('admin.radio.setup'); Route::post('/radio/setup', [RadioSetupController::class, 'setup'])->name('admin.radio.setup.post'); + Route::post('/radio/setup/do', [RadioSetupController::class, 'doSetup'])->name('admin.radio.setup.do'); + Route::post('/radio/setup/reset', [RadioSetupController::class, 'reset'])->name('admin.radio.setup.reset'); // Radio wizard (multi-step) Route::prefix('radio/wizard')->group(function () {