fetchVersions(); return view('components.module.os-server-version', compact('versions')); } protected function fetchVersions() { $vCenter = $this->model?->osGroup?->host?->datacenter?->vCenter; if (!$vCenter || !$vCenter->host) { return null; } $this->vCenter->token = $vCenter->token ?? ''; $this->vCenter->apiUri = $vCenter->host ?? ''; $templateId = $this->model?->osGroup?->host?->template; $versions = $this->vCenter->getAllVersion($templateId); if ($versions === "Login_Again") { $token = $this->vCenter->loginServer($vCenter); if ($token) { $this->vCenterRepository->update($vCenter->id, ['token' => $token]); $this->vCenter->token = $token; $versions = $this->vCenter->getAllVersion($templateId); } } return $versions; } }