misc_pterodactyl-panel/app/Transformers/Api/Client/EggVariableTransformer.php

35 lines
1.2 KiB
PHP
Raw Permalink Normal View History

<?php
namespace Pterodactyl\Transformers\Api\Client;
use Pterodactyl\Models\EggVariable;
2022-12-15 00:05:46 +00:00
use Pterodactyl\Transformers\Api\Transformer;
2022-12-15 00:05:46 +00:00
class EggVariableTransformer extends Transformer
{
public function getResourceName(): string
{
return EggVariable::RESOURCE_NAME;
}
2022-12-15 00:05:46 +00:00
public function transform(EggVariable $model): array
{
// This guards against someone incorrectly retrieving variables (haha, me) and then passing
// them into the transformer and along to the user. Just throw an exception and break the entire
// pathway since you should never be exposing these types of variables to a client.
2022-12-15 00:05:46 +00:00
if (!$model->user_viewable) {
2022-11-29 17:53:59 +00:00
throw new \BadMethodCallException('Cannot transform a hidden egg variable in a client transformer.');
}
return [
2022-12-15 00:05:46 +00:00
'name' => $model->name,
'description' => $model->description,
'env_variable' => $model->env_variable,
'default_value' => $model->default_value,
'server_value' => $model->server_value,
'is_editable' => $model->user_editable,
'rules' => $model->rules,
];
}
}