#!/bin/pwsh . "$PSScriptRoot/../../../Common/Scripts/Context.ps1"; $null = New-Module { function Restore-Nextcloud([Context] $context) { choco list --exact nextcloud-client if (-not $?) { Write-Information "Installing Nextcloud Client"; choco install nextcloud-client -y --params="'/KeepUpdateCheck'"; } if (-not (Test-Path $context.GetNextcloudConfigFile())) { Write-Information "Setting up Nextcloud configuration"; Write-Information "Ensuring all Let's Encrypt certificates are cached"; $null = Invoke-WebRequest https://valid-isrgrootx1.letsencrypt.org/; while (-not (Test-Path $context.GetNextcloudConfigFile())) { Write-Host "Nextcloud has been installed!"; Read-Host "Please log in in the Nextcloud app and hit enter to continue"; if (-not (Test-Path $context.GetNextcloudConfigFile())) { Write-Error "The login seems to have failed. Please try again."; } } $context.Reboot(); exit; } } }