modules/HomeLab.Core/Public/Setup/Test-SetupComplete.ps1
function Test-SetupComplete { [CmdletBinding()] param( [Parameter(Mandatory = $false)] [switch]$Silent ) # Use Write-SimpleLog if Write-Log is not available $logFunction = Get-Command -Name Write-Log -ErrorAction SilentlyContinue if (-not $logFunction) { $logFunction = Get-Command -Name Write-SimpleLog -ErrorAction SilentlyContinue } # Create a wrapper function that maps parameters correctly function Write-SafeLog { param($Message, $Level, [switch]$NoOutput) if ($NoOutput) { return } if ($logFunction.Name -eq 'Write-Log') { & $logFunction -Message $Message -Level $Level } else { # Map log levels to Write-SimpleLog format $simpleLevel = switch ($Level) { 'Info' { 'INFO' } 'Warning' { 'Warning' } 'Error' { 'ERROR' } 'Success' { 'SUCCESS' } default { 'INFO' } } & $logFunction -Message $Message -Level $simpleLevel } } $configFile = "$env:USERPROFILE\.homelab\config.json" $result = Test-Path $configFile if (-not $Silent) { if ($result) { Write-SafeLog -Message "HomeLab setup is complete." -Level Info } else { Write-SafeLog -Message "HomeLab setup is not complete." -Level Info } } return $result } |