* @license MIT */ use Illuminate\Support\Facades\Route; use Pterodactyl\Addons\AdvancedAdmin\Http\Controllers\Admin\RoleController; use Pterodactyl\Addons\AdvancedAdmin\Http\Controllers\Admin\NodeNetworkController; use Pterodactyl\Addons\AdvancedAdmin\Http\Controllers\Admin\RevisionSettingsController; use Pterodactyl\Addons\AdvancedAdmin\Http\Controllers\Admin\CommandDefinitionController; Route::group([ 'prefix' => 'api/application', 'middleware' => ['api', 'auth:sanctum', 'addon.ratelimit'], ], function () { // ── Roles Management ────────────────────────────────────────────────────── Route::prefix('addons/roles')->middleware('throttle:addon-roles-write')->group(function () { Route::get('/', [RoleController::class, 'index']); Route::post('/', [RoleController::class, 'store']); Route::get('/{role}', [RoleController::class, 'show']); Route::patch('/{role}', [RoleController::class, 'update']); Route::delete('/{role}', [RoleController::class, 'destroy']); }); // ── Node Network Aggregate ──────────────────────────────────────────────── Route::get('addons/network/nodes/{node}', [NodeNetworkController::class, 'show']); Route::get('addons/network/nodes', [NodeNetworkController::class, 'index']); // ── Revision Settings ───────────────────────────────────────────────────── Route::get('addons/revisions/settings', [RevisionSettingsController::class, 'show']); Route::put('addons/revisions/settings', [RevisionSettingsController::class, 'update']); // ── Command Definitions ──────────────────────────────────────────────────── Route::prefix('addons/console/definitions')->group(function () { Route::get('/', [CommandDefinitionController::class, 'index']); Route::post('/', [CommandDefinitionController::class, 'store']); Route::get('/{id}', [CommandDefinitionController::class, 'show']); Route::put('/{id}', [CommandDefinitionController::class, 'update']); Route::delete('/{id}', [CommandDefinitionController::class, 'destroy']); }); Route::get('addons/console/settings', [CommandDefinitionController::class, 'settings']); Route::put('addons/console/settings', [CommandDefinitionController::class, 'updateSettings']); });