Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
pterodactyl
GitHub Repository: pterodactyl/panel
Path: blob/1.0-develop/app/Http/Controllers/Api/Client/Servers/PowerController.php
10280 views
1
<?php
2
3
namespace Pterodactyl\Http\Controllers\Api\Client\Servers;
4
5
use Illuminate\Http\Response;
6
use Pterodactyl\Models\Server;
7
use Pterodactyl\Facades\Activity;
8
use Pterodactyl\Repositories\Wings\DaemonPowerRepository;
9
use Pterodactyl\Http\Controllers\Api\Client\ClientApiController;
10
use Pterodactyl\Http\Requests\Api\Client\Servers\SendPowerRequest;
11
12
class PowerController extends ClientApiController
13
{
14
/**
15
* PowerController constructor.
16
*/
17
public function __construct(private DaemonPowerRepository $repository)
18
{
19
parent::__construct();
20
}
21
22
/**
23
* Send a power action to a server.
24
*/
25
public function index(SendPowerRequest $request, Server $server): Response
26
{
27
$this->repository->setServer($server)->send(
28
$request->input('signal')
29
);
30
31
Activity::event(strtolower("server:power.{$request->input('signal')}"))->log();
32
33
return $this->returnNoContent();
34
}
35
}
36
37