<?php namespace Pterodactyl\Http\Controllers\Api\Application\Servers; use Pterodactyl\Models\User; use Pterodactyl\Models\Server; use Pterodactyl\Services\Servers\StartupModificationService; use Pterodactyl\Transformers\Api\Application\ServerTransformer; use Pterodactyl\Http\Controllers\Api\Application\ApplicationApiController; use Pterodactyl\Http\Requests\Api\Application\Servers\UpdateServerStartupRequest; class StartupController extends ApplicationApiController { private StartupModificationService $modificationService; /** * StartupController constructor. */ public function __construct(StartupModificationService $modificationService) { parent::__construct(); $this->modificationService = $modificationService; } /** * Update the startup and environment settings for a specific server. * * @throws \Throwable */ public function index(UpdateServerStartupRequest $request, Server $server): array { $server = $this->modificationService ->setUserLevel(User::USER_LEVEL_ADMIN) ->handle($server, $request->validated()); return $this->fractal->item($server) ->transformWith($this->getTransformer(ServerTransformer::class)) ->toArray(); } }