repository = $repository; } /** * Sets the files to be ignored by this backup. * * @param string|null $ignored * @return $this */ public function setIgnoredFiles(?string $ignored) { $this->ignoredFiles = $ignored; return $this; } /** * Initiates the backup process for a server on the daemon. * * @param \Pterodactyl\Models\Server $server * @param string|null $name * @return \Pterodactyl\Models\Backup * * @throws \Exception */ public function handle(Server $server, string $name = null): Backup { /** @var \Pterodactyl\Models\Backup $backup */ $backup = $this->repository->create([ 'server_id' => $server->id, 'uuid' => Uuid::uuid4()->toString(), 'name' => Str::lower(str_replace(' ', '_', trim($name))) ?: sprintf('backup_%s', CarbonImmutable::create()->format('YmdHis')), 'ignored_files' => $this->ignoredFiles ?? '', 'disk' => 'local', ], true, true); return $backup; } }