src/Private/SharePoint/Add-NewTenant.ps1
function Add-NewTenant { param ( [Parameter(Mandatory = $true)] $settingsFilePath ) $settings = Get-Content $settingsFilePath | ConvertFrom-Json Write-Host "No tenant found. Please add a new tenant." $newTenantName = Read-Host "Enter the tenant name" $newTenantAdminHost = Read-Host "Enter the tenant admin host (contoso-admin.sharepoint.com)" $newTenantRootHost = Read-Host "Enter the tenant root host (contoso.sharepoint.com)" $newClientId = Read-Host "Enter the client id" $newTenant = @{ id = ($settings.SharePoint.Count).ToString() name = $newTenantName url = @($newTenantAdminHost, $newTenantRootHost) clientId = $newClientId } $settings.SharePoint += $newTenant $settings | ConvertTo-Json -Depth 3 | Set-Content -Path $settingsFilePath Write-Host "Tenant added successfully" Write-Host "" } function Remove-Tenant { param ( [Parameter(Mandatory = $true)] $settingsFilePath ) $settings = Get-Content $settingsFilePath | ConvertFrom-Json $tenantId = Read-Host "Enter Tentant ID to remove" $confirmVal = Read-Host "Are you sure you want to remove the tenant $($settings.SharePoint[$inputVal].name)? (y/n)" if ($confirmVal.ToLower() -eq 'y') { $x = 0 $settings.SharePoint = $settings.SharePoint | Where-Object { $_.id -ne $tenantId.ToString() } $settings.SharePoint | ForEach-Object { $_.id = $x.ToString() $x++ } $settings | ConvertTo-Json -Depth 3 | Set-Content -Path $settingsFilePath Write-Host "Tenant removed successfully" } else { Write-Host "Action Cancelled" } } function Update-Tenant { param ( [Parameter(Mandatory = $true)] $settingsFilePath ) $settings = Get-Content $settingsFilePath | ConvertFrom-Json $tenantId = Read-Host "Enter Tentant ID to update" Write-Host -ForegroundColor Yellow "Leave blank to keep the existing value" $newTenantName = Read-Host "Enter the tenant name ($($settings.SharePoint[$tenantId].name))" $newTenantAdminHost = Read-Host "Enter the tenant admin host ($($settings.SharePoint[$tenantId].url[0]))" $newTenantRootHost = Read-Host "Enter the tenant root host ($($settings.SharePoint[$tenantId].url[1]))" $newClientId = Read-Host "Enter the client id ($($settings.SharePoint[$tenantId].clientId))" $confirmVal = Read-Host "Are you sure you want to update the tenant $($settings.SharePoint[$tenantId].name)? (y/n)" if ($confirmVal.ToLower() -eq 'y') { $settings.SharePoint[$tenantId].name = if ($newTenantName) { $newTenantName } else { $settings.SharePoint[$tenantId].name } $settings.SharePoint[$tenantId].url[0] = if ($newTenantAdminHost) { $newTenantAdminHost } else { $settings.SharePoint[$tenantId].url[0] } $settings.SharePoint[$tenantId].url[1] = if ($newTenantRootHost) { $newTenantRootHost } else { $settings.SharePoint[$tenantId].url[1] } $settings.SharePoint[$tenantId].clientId = if ($newClientId) { $newClientId } else { $settings.SharePoint[$tenantId].clientId } $settings | ConvertTo-Json -Depth 3 | Set-Content -Path $settingsFilePath Write-Host "Tenant removed successfully" } else { Write-Host "Action Cancelled" } } |