Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
pterodactyl
GitHub Repository: pterodactyl/panel
Path: blob/1.0-develop/app/Http/Controllers/Api/Application/Servers/StartupController.php
10277 views
1
<?php
2
3
namespace Pterodactyl\Http\Controllers\Api\Application\Servers;
4
5
use Pterodactyl\Models\User;
6
use Pterodactyl\Models\Server;
7
use Pterodactyl\Services\Servers\StartupModificationService;
8
use Pterodactyl\Transformers\Api\Application\ServerTransformer;
9
use Pterodactyl\Http\Controllers\Api\Application\ApplicationApiController;
10
use Pterodactyl\Http\Requests\Api\Application\Servers\UpdateServerStartupRequest;
11
12
class StartupController extends ApplicationApiController
13
{
14
/**
15
* StartupController constructor.
16
*/
17
public function __construct(private StartupModificationService $modificationService)
18
{
19
parent::__construct();
20
}
21
22
/**
23
* Update the startup and environment settings for a specific server.
24
*
25
* @throws \Illuminate\Validation\ValidationException
26
* @throws \Pterodactyl\Exceptions\Http\Connection\DaemonConnectionException
27
* @throws \Pterodactyl\Exceptions\Model\DataValidationException
28
* @throws \Pterodactyl\Exceptions\Repository\RecordNotFoundException
29
*/
30
public function index(UpdateServerStartupRequest $request, Server $server): array
31
{
32
$server = $this->modificationService
33
->setUserLevel(User::USER_LEVEL_ADMIN)
34
->handle($server, $request->validated());
35
36
return $this->fractal->item($server)
37
->transformWith($this->getTransformer(ServerTransformer::class))
38
->toArray();
39
}
40
}
41
42