<?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; } }