Path: blob/1.0-develop/app/Repositories/Wings/DaemonPowerRepository.php
7460 views
<?php12namespace Pterodactyl\Repositories\Wings;34use Webmozart\Assert\Assert;5use Pterodactyl\Models\Server;6use Psr\Http\Message\ResponseInterface;7use GuzzleHttp\Exception\TransferException;8use Pterodactyl\Exceptions\Http\Connection\DaemonConnectionException;910/**11* @method \Pterodactyl\Repositories\Wings\DaemonPowerRepository setNode(\Pterodactyl\Models\Node $node)12* @method \Pterodactyl\Repositories\Wings\DaemonPowerRepository setServer(\Pterodactyl\Models\Server $server)13*/14class DaemonPowerRepository extends DaemonRepository15{16/**17* Sends a power action to the server instance.18*19* @throws DaemonConnectionException20*/21public function send(string $action): ResponseInterface22{23Assert::isInstanceOf($this->server, Server::class);2425try {26return $this->getHttpClient()->post(27sprintf('/api/servers/%s/power', $this->server->uuid),28['json' => ['action' => $action]]29);30} catch (TransferException $exception) {31throw new DaemonConnectionException($exception);32}33}34}353637