middleware('api.token')->group(function (): void { Route::post('/progress/heartbeat', [ProgressController::class, 'heartbeat'])->name('progress.heartbeat'); Route::post('/lessons/{lesson}/quizzes/{quiz}/attempts', [QuizAttemptController::class, 'store']) ->name('quiz-attempts.store'); Route::post('/students/me/analysis', [StudentAnalysisController::class, 'store']) ->name('students.analysis.store'); Route::get('/guardian/students/{student}/summary', [GuardianSummaryController::class, 'show']) ->name('guardian.students.summary'); }); use App\Http\Controllers\Api\AuthController; Route::prefix('auth')->middleware('throttle:auth')->group(function () { Route::post('/register', [AuthController::class, 'register']); Route::post('/login', [AuthController::class, 'login']); }); Route::prefix('auth')->middleware('auth:sanctum')->group(function () { Route::post('/logout', [AuthController::class, 'logout']); Route::delete('/account', [AuthController::class, 'deleteAccount']); }); use App\Http\Controllers\Api\CourseController; use App\Http\Controllers\Api\TeacherContentController; Route::middleware('auth:sanctum')->group(function () { // Student/General Browsing Route::get('/courses', [CourseController::class, 'index']); Route::get('/courses/{course}', [CourseController::class, 'show']); // Teacher Uploads Route::post('/teacher/lessons', [TeacherContentController::class, 'storeLesson']); });