Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
pterodactyl
GitHub Repository: pterodactyl/panel
Path: blob/1.0-develop/routes/admin.php
7382 views
1
<?php
2
3
use Illuminate\Support\Facades\Route;
4
use Pterodactyl\Http\Controllers\Admin;
5
use Pterodactyl\Http\Middleware\Admin\Servers\ServerInstalled;
6
7
Route::get('/', [Admin\BaseController::class, 'index'])->name('admin.index');
8
9
/*
10
|--------------------------------------------------------------------------
11
| Location Controller Routes
12
|--------------------------------------------------------------------------
13
|
14
| Endpoint: /admin/api
15
|
16
*/
17
Route::group(['prefix' => 'api'], function () {
18
Route::get('/', [Admin\ApiController::class, 'index'])->name('admin.api.index');
19
Route::get('/new', [Admin\ApiController::class, 'create'])->name('admin.api.new');
20
21
Route::post('/new', [Admin\ApiController::class, 'store']);
22
23
Route::delete('/revoke/{identifier}', [Admin\ApiController::class, 'delete'])->name('admin.api.delete');
24
});
25
26
/*
27
|--------------------------------------------------------------------------
28
| Location Controller Routes
29
|--------------------------------------------------------------------------
30
|
31
| Endpoint: /admin/locations
32
|
33
*/
34
Route::group(['prefix' => 'locations'], function () {
35
Route::get('/', [Admin\LocationController::class, 'index'])->name('admin.locations');
36
Route::get('/view/{location:id}', [Admin\LocationController::class, 'view'])->name('admin.locations.view');
37
38
Route::post('/', [Admin\LocationController::class, 'create']);
39
Route::patch('/view/{location:id}', [Admin\LocationController::class, 'update']);
40
});
41
42
/*
43
|--------------------------------------------------------------------------
44
| Database Controller Routes
45
|--------------------------------------------------------------------------
46
|
47
| Endpoint: /admin/databases
48
|
49
*/
50
Route::group(['prefix' => 'databases'], function () {
51
Route::get('/', [Admin\DatabaseController::class, 'index'])->name('admin.databases');
52
Route::get('/view/{host:id}', [Admin\DatabaseController::class, 'view'])->name('admin.databases.view');
53
54
Route::post('/', [Admin\DatabaseController::class, 'create']);
55
Route::patch('/view/{host:id}', [Admin\DatabaseController::class, 'update']);
56
Route::delete('/view/{host:id}', [Admin\DatabaseController::class, 'delete']);
57
});
58
59
/*
60
|--------------------------------------------------------------------------
61
| Settings Controller Routes
62
|--------------------------------------------------------------------------
63
|
64
| Endpoint: /admin/settings
65
|
66
*/
67
Route::group(['prefix' => 'settings'], function () {
68
Route::get('/', [Admin\Settings\IndexController::class, 'index'])->name('admin.settings');
69
Route::get('/mail', [Admin\Settings\MailController::class, 'index'])->name('admin.settings.mail');
70
Route::get('/advanced', [Admin\Settings\AdvancedController::class, 'index'])->name('admin.settings.advanced');
71
72
Route::post('/mail/test', [Admin\Settings\MailController::class, 'test'])->name('admin.settings.mail.test');
73
74
Route::patch('/', [Admin\Settings\IndexController::class, 'update']);
75
Route::patch('/mail', [Admin\Settings\MailController::class, 'update']);
76
Route::patch('/advanced', [Admin\Settings\AdvancedController::class, 'update']);
77
});
78
79
/*
80
|--------------------------------------------------------------------------
81
| User Controller Routes
82
|--------------------------------------------------------------------------
83
|
84
| Endpoint: /admin/users
85
|
86
*/
87
Route::group(['prefix' => 'users'], function () {
88
Route::get('/', [Admin\UserController::class, 'index'])->name('admin.users');
89
Route::get('/accounts.json', [Admin\UserController::class, 'json'])->name('admin.users.json');
90
Route::get('/new', [Admin\UserController::class, 'create'])->name('admin.users.new');
91
Route::get('/view/{user:id}', [Admin\UserController::class, 'view'])->name('admin.users.view');
92
93
Route::post('/new', [Admin\UserController::class, 'store']);
94
95
Route::patch('/view/{user:id}', [Admin\UserController::class, 'update']);
96
Route::delete('/view/{user:id}', [Admin\UserController::class, 'delete']);
97
});
98
99
/*
100
|--------------------------------------------------------------------------
101
| Server Controller Routes
102
|--------------------------------------------------------------------------
103
|
104
| Endpoint: /admin/servers
105
|
106
*/
107
Route::group(['prefix' => 'servers'], function () {
108
Route::get('/', [Admin\Servers\ServerController::class, 'index'])->name('admin.servers');
109
Route::get('/new', [Admin\Servers\CreateServerController::class, 'index'])->name('admin.servers.new');
110
Route::get('/view/{server:id}', [Admin\Servers\ServerViewController::class, 'index'])->name('admin.servers.view');
111
112
Route::group(['middleware' => [ServerInstalled::class]], function () {
113
Route::get('/view/{server:id}/details', [Admin\Servers\ServerViewController::class, 'details'])->name('admin.servers.view.details');
114
Route::get('/view/{server:id}/build', [Admin\Servers\ServerViewController::class, 'build'])->name('admin.servers.view.build');
115
Route::get('/view/{server:id}/startup', [Admin\Servers\ServerViewController::class, 'startup'])->name('admin.servers.view.startup');
116
Route::get('/view/{server:id}/database', [Admin\Servers\ServerViewController::class, 'database'])->name('admin.servers.view.database');
117
Route::get('/view/{server:id}/mounts', [Admin\Servers\ServerViewController::class, 'mounts'])->name('admin.servers.view.mounts');
118
});
119
120
Route::get('/view/{server:id}/manage', [Admin\Servers\ServerViewController::class, 'manage'])->name('admin.servers.view.manage');
121
Route::get('/view/{server:id}/delete', [Admin\Servers\ServerViewController::class, 'delete'])->name('admin.servers.view.delete');
122
123
Route::post('/new', [Admin\Servers\CreateServerController::class, 'store']);
124
Route::post('/view/{server:id}/build', [Admin\ServersController::class, 'updateBuild']);
125
Route::post('/view/{server:id}/startup', [Admin\ServersController::class, 'saveStartup']);
126
Route::post('/view/{server:id}/database', [Admin\ServersController::class, 'newDatabase']);
127
Route::post('/view/{server:id}/mounts', [Admin\ServersController::class, 'addMount'])->name('admin.servers.view.mounts.store');
128
Route::post('/view/{server:id}/manage/toggle', [Admin\ServersController::class, 'toggleInstall'])->name('admin.servers.view.manage.toggle');
129
Route::post('/view/{server:id}/manage/suspension', [Admin\ServersController::class, 'manageSuspension'])->name('admin.servers.view.manage.suspension');
130
Route::post('/view/{server:id}/manage/reinstall', [Admin\ServersController::class, 'reinstallServer'])->name('admin.servers.view.manage.reinstall');
131
Route::post('/view/{server:id}/manage/transfer', [Admin\Servers\ServerTransferController::class, 'transfer'])->name('admin.servers.view.manage.transfer');
132
Route::post('/view/{server:id}/delete', [Admin\ServersController::class, 'delete']);
133
134
Route::patch('/view/{server:id}/details', [Admin\ServersController::class, 'setDetails']);
135
Route::patch('/view/{server:id}/database', [Admin\ServersController::class, 'resetDatabasePassword']);
136
137
Route::delete('/view/{server:id}/database/{database:id}/delete', [Admin\ServersController::class, 'deleteDatabase'])->name('admin.servers.view.database.delete');
138
Route::delete('/view/{server:id}/mounts/{mount:id}', [Admin\ServersController::class, 'deleteMount'])
139
->name('admin.servers.view.mounts.delete');
140
});
141
142
/*
143
|--------------------------------------------------------------------------
144
| Node Controller Routes
145
|--------------------------------------------------------------------------
146
|
147
| Endpoint: /admin/nodes
148
|
149
*/
150
Route::group(['prefix' => 'nodes'], function () {
151
Route::get('/', [Admin\Nodes\NodeController::class, 'index'])->name('admin.nodes');
152
Route::get('/new', [Admin\NodesController::class, 'create'])->name('admin.nodes.new');
153
Route::get('/view/{node:id}', [Admin\Nodes\NodeViewController::class, 'index'])->name('admin.nodes.view');
154
Route::get('/view/{node:id}/settings', [Admin\Nodes\NodeViewController::class, 'settings'])->name('admin.nodes.view.settings');
155
Route::get('/view/{node:id}/configuration', [Admin\Nodes\NodeViewController::class, 'configuration'])->name('admin.nodes.view.configuration');
156
Route::get('/view/{node:id}/allocation', [Admin\Nodes\NodeViewController::class, 'allocations'])->name('admin.nodes.view.allocation');
157
Route::get('/view/{node:id}/servers', [Admin\Nodes\NodeViewController::class, 'servers'])->name('admin.nodes.view.servers');
158
Route::get('/view/{node:id}/system-information', Admin\Nodes\SystemInformationController::class);
159
160
Route::post('/new', [Admin\NodesController::class, 'store']);
161
Route::post('/view/{node:id}/allocation', [Admin\NodesController::class, 'createAllocation']);
162
Route::post('/view/{node:id}/allocation/remove', [Admin\NodesController::class, 'allocationRemoveBlock'])->name('admin.nodes.view.allocation.removeBlock');
163
Route::post('/view/{node:id}/allocation/alias', [Admin\NodesController::class, 'allocationSetAlias'])->name('admin.nodes.view.allocation.setAlias');
164
Route::post('/view/{node:id}/settings/token', Admin\NodeAutoDeployController::class)->name('admin.nodes.view.configuration.token');
165
166
Route::patch('/view/{node:id}/settings', [Admin\NodesController::class, 'updateSettings']);
167
168
Route::delete('/view/{node:id}/delete', [Admin\NodesController::class, 'delete'])->name('admin.nodes.view.delete');
169
Route::delete('/view/{node:id}/allocation/remove/{allocation:id}', [Admin\NodesController::class, 'allocationRemoveSingle'])->name('admin.nodes.view.allocation.removeSingle');
170
Route::delete('/view/{node:id}/allocations', [Admin\NodesController::class, 'allocationRemoveMultiple'])->name('admin.nodes.view.allocation.removeMultiple');
171
});
172
173
/*
174
|--------------------------------------------------------------------------
175
| Mount Controller Routes
176
|--------------------------------------------------------------------------
177
|
178
| Endpoint: /admin/mounts
179
|
180
*/
181
Route::group(['prefix' => 'mounts'], function () {
182
Route::get('/', [Admin\MountController::class, 'index'])->name('admin.mounts');
183
Route::get('/view/{mount:id}', [Admin\MountController::class, 'view'])->name('admin.mounts.view');
184
185
Route::post('/', [Admin\MountController::class, 'create']);
186
Route::post('/{mount:id}/eggs', [Admin\MountController::class, 'addEggs'])->name('admin.mounts.eggs');
187
Route::post('/{mount:id}/nodes', [Admin\MountController::class, 'addNodes'])->name('admin.mounts.nodes');
188
189
Route::patch('/view/{mount:id}', [Admin\MountController::class, 'update']);
190
191
Route::delete('/{mount:id}/eggs/{egg_id}', [Admin\MountController::class, 'deleteEgg']);
192
Route::delete('/{mount:id}/nodes/{node_id}', [Admin\MountController::class, 'deleteNode']);
193
});
194
195
/*
196
|--------------------------------------------------------------------------
197
| Nest Controller Routes
198
|--------------------------------------------------------------------------
199
|
200
| Endpoint: /admin/nests
201
|
202
*/
203
Route::group(['prefix' => 'nests'], function () {
204
Route::get('/', [Admin\Nests\NestController::class, 'index'])->name('admin.nests');
205
Route::get('/new', [Admin\Nests\NestController::class, 'create'])->name('admin.nests.new');
206
Route::get('/view/{nest:id}', [Admin\Nests\NestController::class, 'view'])->name('admin.nests.view');
207
Route::get('/egg/new', [Admin\Nests\EggController::class, 'create'])->name('admin.nests.egg.new');
208
Route::get('/egg/{egg:id}', [Admin\Nests\EggController::class, 'view'])->name('admin.nests.egg.view');
209
Route::get('/egg/{egg:id}/export', [Admin\Nests\EggShareController::class, 'export'])->name('admin.nests.egg.export');
210
Route::get('/egg/{egg:id}/variables', [Admin\Nests\EggVariableController::class, 'view'])->name('admin.nests.egg.variables');
211
Route::get('/egg/{egg:id}/scripts', [Admin\Nests\EggScriptController::class, 'index'])->name('admin.nests.egg.scripts');
212
213
Route::post('/new', [Admin\Nests\NestController::class, 'store']);
214
Route::post('/import', [Admin\Nests\EggShareController::class, 'import'])->name('admin.nests.egg.import');
215
Route::post('/egg/new', [Admin\Nests\EggController::class, 'store']);
216
Route::post('/egg/{egg:id}/variables', [Admin\Nests\EggVariableController::class, 'store']);
217
218
Route::put('/egg/{egg:id}', [Admin\Nests\EggShareController::class, 'update']);
219
220
Route::patch('/view/{nest:id}', [Admin\Nests\NestController::class, 'update']);
221
Route::patch('/egg/{egg:id}', [Admin\Nests\EggController::class, 'update']);
222
Route::patch('/egg/{egg:id}/scripts', [Admin\Nests\EggScriptController::class, 'update']);
223
Route::patch('/egg/{egg:id}/variables/{variable:id}', [Admin\Nests\EggVariableController::class, 'update'])->name('admin.nests.egg.variables.edit');
224
225
Route::delete('/view/{nest:id}', [Admin\Nests\NestController::class, 'destroy']);
226
Route::delete('/egg/{egg:id}', [Admin\Nests\EggController::class, 'destroy']);
227
Route::delete('/egg/{egg:id}/variables/{variable:id}', [Admin\Nests\EggVariableController::class, 'destroy']);
228
});
229
230