From 048d48de6a871a6bc796034fbcfbbf9388062b99 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 23 Jun 2026 01:29:46 -0400 Subject: [PATCH] fix: move badge routes outside multi.auth middleware group and apply it explicitly The badge route group (form-data, pdf, print-status, log-print) was accidentally nested inside the multi.auth middleware group that started at line 567 (for legacy teacher routes). This caused: 1. All badge routes to inherit multi.auth middleware, which calls Auth::guard('sanctum')->user() at every request 2. Auth guard [sanctum] not defined errors when the sanctum driver wasn't yet registered (config cache / provider order) Fix: close the large multi.auth group BEFORE the badge routes, then apply middleware('multi.auth') explicitly to the badge prefix group. This keeps auth on badge endpoints but avoids the accidental nesting issue. --- routes/api.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/routes/api.php b/routes/api.php index 2fa61e79..f9137576 100644 --- a/routes/api.php +++ b/routes/api.php @@ -1332,12 +1332,12 @@ Route::prefix('v1')->group(function () { Route::delete('{class_progress}', [ClassProgressController::class, 'destroy']); Route::get('{class_progress}/attachment', [ClassProgressController::class, 'downloadLegacyAttachment']); }); + }); - Route::prefix('badges')->group(function () { + Route::middleware('multi.auth')->prefix('badges')->group(function () { Route::get('form-data', [BadgeController::class, 'formData']); Route::post('pdf', [BadgeController::class, 'generatePdf']); Route::get('print-status', [BadgeController::class, 'printStatus']); Route::post('log-print', [BadgeController::class, 'logPrint']); }); - }); });