coolify/app/Livewire/Server/Create.php
2026-07-08 12:20:56 +02:00

47 lines
1.3 KiB
PHP

<?php
namespace App\Livewire\Server;
use App\Models\CloudProviderToken;
use App\Models\PrivateKey;
use App\Models\Team;
use Livewire\Component;
class Create extends Component
{
public $private_keys = [];
public ?string $selectedType = null;
public ?string $selectedTokenUuid = null;
public bool $limit_reached = false;
public bool $has_hetzner_tokens = false;
public function mount(?string $selectedType = null, ?string $selectedTokenUuid = null): void
{
$this->selectedType = in_array($selectedType, ['hetzner', 'vultr', 'digital-ocean', 'manual'], true)
? $selectedType
: null;
$this->selectedTokenUuid = $this->selectedType && $this->selectedType !== 'manual' ? $selectedTokenUuid : null;
$this->private_keys = PrivateKey::ownedByCurrentTeamCached();
if (! isCloud()) {
$this->limit_reached = false;
return;
}
$this->limit_reached = Team::serverLimitReached();
// Check if user has Hetzner tokens
$this->has_hetzner_tokens = CloudProviderToken::ownedByCurrentTeam()
->where('provider', 'hetzner')
->exists();
}
public function render()
{
return view('livewire.server.create');
}
}