Files
landing-api/app/Services/RconAccessGrantor.php
T
2026-07-09 14:51:56 +02:00

29 lines
741 B
PHP

<?php
namespace App\Services;
use App\Models\AccessRequests;
class RconAccessGrantor
{
public function __construct(
private readonly MinecraftRconClient $rconClient,
) {}
public function grant(AccessRequests $accessRequest): string
{
return $this->rconClient->command($this->commandFor($accessRequest->game_username));
}
private function commandFor(string $gameUsername): string
{
$accessCommand = (string) config('rcon.access_command', 'whitelist add {username}');
if (! str_contains($accessCommand, '{username}')) {
$accessCommand = trim($accessCommand).' {username}';
}
return str_replace('{username}', $gameUsername, $accessCommand);
}
}