middleware('throttle:10,1'); Route::middleware('auth:api')->prefix('launcher')->group(function () { Route::get('manifest', [LauncherController::class, 'manifest']); Route::get('download/{path}', [LauncherController::class, 'download']) ->where('path', '.*'); Route::get('news', [LauncherNewsController::class, 'index']); }); Route::middleware(['launcher'])->prefix('service')->name('service.')->group(function () { Route::post('/update-appcast', [LauncherController::class, 'updateAppcast']); }); Route::match(['get', 'post'], 'payments/robokassa/result', [RobokassaController::class, 'result']) ->middleware('throttle:60,1') ->name('payments.robokassa.result'); Route::middleware(['game-server', 'throttle:120,1'])->prefix('game/balance')->group(function (): void { Route::get('{accountId}', [GameBalanceController::class, 'show'])->whereNumber('accountId'); Route::post('{accountId}/spend', [GameBalanceController::class, 'spend'])->whereNumber('accountId'); });