addDay(), fn () => collect(FuelType::cases()) ->map(fn (FuelType $case) => ['value' => $case->value, 'label' => $case->label()]) ->values()); }); // Protected endpoints (API key required) Route::middleware(['throttle:60,1', VerifyApiKey::class])->group(function (): void { Route::get('/stations', [StationController::class, 'index']); Route::get('/stats/searches', [StatsController::class, 'searches']); Route::get('/prediction', [PredictionController::class, 'index']); }); // Sanctum-authenticated endpoints Route::middleware('auth:sanctum')->group(function (): void { Route::get('/auth/me', [AuthController::class, 'me']); Route::post('/auth/logout', [AuthController::class, 'logout']); // User dashboard endpoints Route::get('/user/preferences', [UserController::class, 'preferences']); Route::put('/user/preferences', [UserController::class, 'updatePreferences']); Route::get('/user/saved-stations', [UserController::class, 'savedStations']); Route::post('/user/saved-stations', [UserController::class, 'saveStation']); Route::delete('/user/saved-stations/{stationId}', [UserController::class, 'removeStation']); Route::put('/user/profile', [UserController::class, 'updateProfile']); Route::put('/user/password', [UserController::class, 'updatePassword']); Route::delete('/user', [UserController::class, 'deleteAccount']); });