Path: blob/1.0-develop/app/Transformers/Api/Application/ServerVariableTransformer.php
10280 views
<?php12namespace Pterodactyl\Transformers\Api\Application;34use League\Fractal\Resource\Item;5use Pterodactyl\Models\EggVariable;6use Pterodactyl\Models\ServerVariable;7use League\Fractal\Resource\NullResource;8use Pterodactyl\Services\Acl\Api\AdminAcl;910class ServerVariableTransformer extends BaseTransformer11{12/**13* List of resources that can be included.14*/15protected array $availableIncludes = ['parent'];1617/**18* Return the resource name for the JSONAPI output.19*/20public function getResourceName(): string21{22return ServerVariable::RESOURCE_NAME;23}2425/**26* Return a generic transformed server variable array.27*/28public function transform(EggVariable $variable): array29{30return $variable->toArray();31}3233/**34* Return the parent service variable data.35*36* @throws \Pterodactyl\Exceptions\Transformer\InvalidTransformerLevelException37*/38public function includeParent(EggVariable $variable): Item|NullResource39{40if (!$this->authorize(AdminAcl::RESOURCE_EGGS)) {41return $this->null();42}4344$variable->loadMissing('variable');4546return $this->item($variable->getRelation('variable'), $this->makeTransformer(EggVariableTransformer::class), 'variable');47}48}495051