Skip to content

Commit b746c3e

Browse files
authored
fix(api/client): add validation for backup request body (pterodactyl#4704)
1 parent aea5c47 commit b746c3e

File tree

2 files changed

+21
-5
lines changed

2 files changed

+21
-5
lines changed

app/Http/Controllers/Api/Client/Servers/BackupController.php

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
use Pterodactyl\Http\Controllers\Api\Client\ClientApiController;
1919
use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
2020
use Pterodactyl\Http\Requests\Api\Client\Servers\Backups\StoreBackupRequest;
21+
use Pterodactyl\Http\Requests\Api\Client\Servers\Backups\RestoreBackupRequest;
2122

2223
class BackupController extends ClientApiController
2324
{
@@ -188,12 +189,8 @@ public function download(Request $request, Server $server, Backup $backup): Json
188189
*
189190
* @throws \Throwable
190191
*/
191-
public function restore(Request $request, Server $server, Backup $backup): JsonResponse
192+
public function restore(RestoreBackupRequest $request, Server $server, Backup $backup): JsonResponse
192193
{
193-
if (!$request->user()->can(Permission::ACTION_BACKUP_RESTORE, $server)) {
194-
throw new AuthorizationException();
195-
}
196-
197194
// Cannot restore a backup unless a server is fully installed and not currently
198195
// processing a different backup restoration request.
199196
if (!is_null($server->status)) {
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<?php
2+
3+
namespace Pterodactyl\Http\Requests\Api\Client\Servers\Backups;
4+
5+
use Pterodactyl\Models\Permission;
6+
use Pterodactyl\Http\Requests\Api\Client\ClientApiRequest;
7+
8+
class RestoreBackupRequest extends ClientApiRequest
9+
{
10+
public function permission(): string
11+
{
12+
return Permission::ACTION_BACKUP_RESTORE;
13+
}
14+
15+
public function rules(): array
16+
{
17+
return ['truncate' => 'required|boolean'];
18+
}
19+
}

0 commit comments

Comments
 (0)