Hide startup line from API response if user doesn't have startup permissions
This commit is contained in:
parent
9ae3c17913
commit
813a671571
|
@ -10,16 +10,17 @@ class StartupCommandService
|
||||||
* Generates a startup command for a given server instance.
|
* Generates a startup command for a given server instance.
|
||||||
*
|
*
|
||||||
* @param \Pterodactyl\Models\Server $server
|
* @param \Pterodactyl\Models\Server $server
|
||||||
|
* @param bool $hideAllValues
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function handle(Server $server): string
|
public function handle(Server $server, bool $hideAllValues = false): string
|
||||||
{
|
{
|
||||||
$find = ['{{SERVER_MEMORY}}', '{{SERVER_IP}}', '{{SERVER_PORT}}'];
|
$find = ['{{SERVER_MEMORY}}', '{{SERVER_IP}}', '{{SERVER_PORT}}'];
|
||||||
$replace = [$server->memory, $server->allocation->ip, $server->allocation->port];
|
$replace = [$server->memory, $server->allocation->ip, $server->allocation->port];
|
||||||
|
|
||||||
foreach ($server->variables as $variable) {
|
foreach ($server->variables as $variable) {
|
||||||
$find[] = '{{' . $variable->env_variable . '}}';
|
$find[] = '{{' . $variable->env_variable . '}}';
|
||||||
$replace[] = $variable->user_viewable ? ($variable->server_value ?? $variable->default_value) : '[hidden]';
|
$replace[] = ($variable->user_viewable && !$hideAllValues) ? ($variable->server_value ?? $variable->default_value) : '[hidden]';
|
||||||
}
|
}
|
||||||
|
|
||||||
return str_replace($find, $replace, $server->startup);
|
return str_replace($find, $replace, $server->startup);
|
||||||
|
|
|
@ -61,7 +61,7 @@ class ServerTransformer extends BaseClientTransformer
|
||||||
'io' => $server->io,
|
'io' => $server->io,
|
||||||
'cpu' => $server->cpu,
|
'cpu' => $server->cpu,
|
||||||
],
|
],
|
||||||
'invocation' => $service->handle($server),
|
'invocation' => $service->handle($server, ! $this->getUser()->can(Permission::ACTION_STARTUP_READ, $server)),
|
||||||
'feature_limits' => [
|
'feature_limits' => [
|
||||||
'databases' => $server->database_limit,
|
'databases' => $server->database_limit,
|
||||||
'allocations' => $server->allocation_limit,
|
'allocations' => $server->allocation_limit,
|
||||||
|
|
Loading…
Reference in New Issue