FpsBcDeployment.psm1

# Object classes
$CmdLets = @(
    'BcAppSettings.ps1'
    'BcServerInstance.ps1'
) | ForEach-Object {Join-Path -Path 'Classes' -ChildPath $_}

# AppManagement
$CmdLets += @(
    'Get-AppDependencyOrder.ps1'
    'Install-BcApp.ps1'
    'Install-BcSingleApp'
    'New-BcRuntimePackage.ps1'
    'Publish-BcSystem.ps1'
) | ForEach-Object {Join-Path -Path 'Functions\AppManagement' -ChildPath $_}

# CertificateManagement
$CmdLets += @(
    'Get-FpsCertificate.ps1'
    'Install-FpsCertificate.ps1'
    'Uninstall-FpsCertificate.ps1'
    'Update-FpsCertificate.ps1'
) | ForEach-Object {Join-Path -Path 'Functions\CertificateManagement' -ChildPath $_}

# HealthMonitor
$CmdLets += @(
    'Get-HealthMonitorScript.ps1'
    'Install-FpsHealthMonitor.ps1'
    'Remove-FpsHealthMonitor.ps1'
) | ForEach-Object {Join-Path -Path 'Functions\HealthMonitor' -ChildPath $_}

# LicenseManagement
$CmdLets += @(
    'Get-BcLicense.ps1'
    'Set-BcLicense.ps1'
) | ForEach-Object {Join-Path -Path 'Functions\LicenseManagement' -ChildPath $_}

$CmdLets += @(
    'Get-BcModule.ps1'
    'Import-BcModule.ps1'
) | ForEach-Object {Join-Path -Path 'Functions\ModuleManagement' -ChildPath $_}


# PlatformManagement
$CmdLets += @(
    'Get-BcComponent.ps1'
    'Get-FpsComputerInfo.ps1'
    'Publish-BcAddin.ps1'
    'Test-RemotePowershell.ps1'
) | ForEach-Object {Join-Path -Path 'Functions\PlatformManagement' -ChildPath $_}

# UserManagement
$CmdLets += @(
    'Set-InitialUserStatusUsingLogFile.ps1'
    'New-BcUserStateJsonFile.ps1'
    'Set-AllUsersDisabled.ps1'
) | ForEach-Object {Join-Path -Path 'Functions\UserManagement' -ChildPath $_}

$CmdLets += @(
    'Get-BcEnvironment.ps1'
    'Get-BcServerInstance.ps1'
    'Set-BcServerInstance.ps1'
    'Get-BcVersion.ps1'
    'Get-BcTenant.ps1'
    'Set-BCServerInstance.ps1'
    'Wait-BcServerInstanceMountingTenants.ps1'
) | ForEach-Object {Join-Path -Path 'Functions' -ChildPath $_}

foreach ($CmdLet in $CmdLets) {
    . (Join-Path -Path $PSScriptRoot -ChildPath $CmdLet)
}