41 lines
1.1 KiB
PHP
41 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace Pterodactyl\Http\Requests\Api\Client\Servers\Backups;
|
|
|
|
use Pterodactyl\Models\Backup;
|
|
use Pterodactyl\Models\Server;
|
|
use Pterodactyl\Models\Permission;
|
|
use Pterodactyl\Http\Requests\Api\Client\ClientApiRequest;
|
|
|
|
class DownloadBackupRequest extends ClientApiRequest
|
|
{
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function permission()
|
|
{
|
|
return Permission::ACTION_BACKUP_DOWNLOAD;
|
|
}
|
|
|
|
/**
|
|
* Ensure that this backup belongs to the server that is also present in the
|
|
* request.
|
|
*
|
|
* @return bool
|
|
*/
|
|
public function resourceExists(): bool
|
|
{
|
|
/** @var \Pterodactyl\Models\Server|mixed $server */
|
|
$server = $this->route()->parameter('server');
|
|
/** @var \Pterodactyl\Models\Backup|mixed $backup */
|
|
$backup = $this->route()->parameter('backup');
|
|
|
|
if ($server instanceof Server && $backup instanceof Backup) {
|
|
if ($server->exists && $backup->exists && $server->id === $backup->server_id) {
|
|
return true;
|
|
}
|
|
}
|
|
|
|
return false;
|
|
}
|
|
}
|