Path: blob/1.0-develop/app/Repositories/Wings/DaemonTransferRepository.php
7460 views
<?php12namespace Pterodactyl\Repositories\Wings;34use Pterodactyl\Models\Node;5use Lcobucci\JWT\Token\Plain;6use GuzzleHttp\Exception\GuzzleException;7use Pterodactyl\Exceptions\Http\Connection\DaemonConnectionException;89/**10* @method \Pterodactyl\Repositories\Wings\DaemonTransferRepository setNode(\Pterodactyl\Models\Node $node)11* @method \Pterodactyl\Repositories\Wings\DaemonTransferRepository setServer(\Pterodactyl\Models\Server $server)12*/13class DaemonTransferRepository extends DaemonRepository14{15/**16* @throws DaemonConnectionException17*/18public function notify(Node $targetNode, Plain $token): void19{20try {21$this->getHttpClient()->post(sprintf('/api/servers/%s/transfer', $this->server->uuid), [22'json' => [23'server_id' => $this->server->uuid,24'url' => $targetNode->getConnectionAddress() . '/api/transfers',25'token' => 'Bearer ' . $token->toString(),26'server' => [27'uuid' => $this->server->uuid,28'start_on_completion' => false,29],30],31]);32} catch (GuzzleException $exception) {33throw new DaemonConnectionException($exception);34}35}36}373839