BcAdmin.Core.psm1

. $PSScriptRoot\functions\azure\Add-ApplicationPermission.ps1
. $PSScriptRoot\functions\azure\Add-ServicePrincipalPermission.ps1
. $PSScriptRoot\functions\azure\Connect-ToAzure.ps1
. $PSScriptRoot\functions\azure\Connect-ToAzureDeviceCode.ps1
. $PSScriptRoot\functions\azure\Get-Application.ps1
. $PSScriptRoot\functions\azure\Get-AzStoredServicePrincipalCredential.ps1
. $PSScriptRoot\functions\azure\Get-KnownResourceAppId.ps1
. $PSScriptRoot\functions\azure\Get-MicrosoftGraphPermissions.ps1
. $PSScriptRoot\functions\azure\Get-MicrosoftGraphServicePrincipalId.ps1
. $PSScriptRoot\functions\azure\Get-RequestHeaderAuthorization.ps1
. $PSScriptRoot\functions\azure\Get-ScopeFromEndpoint.ps1
. $PSScriptRoot\functions\azure\Get-ServicePrincipal.ps1
. $PSScriptRoot\functions\azure\New-ApplicationWithSecret.ps1
. $PSScriptRoot\functions\azure\New-ServicePrincipal.ps1
. $PSScriptRoot\functions\azure\Register-AzBcOutlookAddInApp.ps1
. $PSScriptRoot\functions\azure\Register-AzPsAutomationApp.ps1
. $PSScriptRoot\functions\azure\Register-BcEntraIDApplications.ps1
. $PSScriptRoot\functions\azure\Remove-AzStoredServicePrincipalCredential.ps1
. $PSScriptRoot\functions\azure\Set-AzStoredServicePrincipalCredential.ps1
. $PSScriptRoot\functions\azure\Set-ServicePrincipalTags.ps1
. $PSScriptRoot\functions\azure\Test-AzContextAndConnect.ps1
. $PSScriptRoot\functions\azure\Test-BcAdminSession.ps1
. $PSScriptRoot\functions\azure\Update-BcAdminSessionToken.ps1
. $PSScriptRoot\functions\bcadminsession\Get-BcAdminSessionAzureRestApiVersion.ps1
. $PSScriptRoot\functions\bcadminsession\Get-BcAdminSessionAzureSubscriptionId.ps1
. $PSScriptRoot\functions\certificates\Add-CertificateReadPermission.ps1
. $PSScriptRoot\functions\certificates\Get-CertificateFriendlyName.ps1
. $PSScriptRoot\functions\certificates\Get-NavServicesCertificateFriendlyName.ps1
. $PSScriptRoot\functions\certificates\Get-NavServicesCertificateThumbprint.ps1
. $PSScriptRoot\functions\certificates\Update-NavServerCertificate.ps1
. $PSScriptRoot\functions\docker\Find-OrphanDockerLayers.ps1
. $PSScriptRoot\functions\dynamicsnav\Get-DynamicsPlatformVersions.ps1
. $PSScriptRoot\functions\dynamicsnav\Get-NavModuleVersion.ps1
. $PSScriptRoot\functions\dynamicsnav\Get-NavServerInstances.ps1
. $PSScriptRoot\functions\dynamicsnav\Get-NAVServerPlatform.ps1
. $PSScriptRoot\functions\dynamicsnav\servicesetup\Enable-ServiceExcelAddIn.ps1
. $PSScriptRoot\functions\filesystem\Convert-ToUtf8Bom.ps1
. $PSScriptRoot\functions\filesystem\Get-FilteredFiles.ps1
. $PSScriptRoot\functions\filesystem\Get-FirstItem.ps1
. $PSScriptRoot\functions\filesystem\Get-NewestItem.ps1
. $PSScriptRoot\functions\filesystem\New-Directory.ps1
. $PSScriptRoot\functions\filesystem\New-TemporaryDirectory.ps1
. $PSScriptRoot\functions\filesystem\Test-IsUtf8WithBom.ps1
. $PSScriptRoot\functions\git\Get-GitUrl.ps1
. $PSScriptRoot\functions\Invoke-DownloadAndExpand.ps1
. $PSScriptRoot\functions\powershell\Invoke-PowerShell.ps1
. $PSScriptRoot\functions\powershell\module\Export-FunctionDocs.ps1
. $PSScriptRoot\functions\powershell\module\Get-HelpContent.ps1
. $PSScriptRoot\functions\powershell\module\Invoke-PublishModule.ps1
. $PSScriptRoot\functions\powershell\module\Publish-MyModule.ps1
. $PSScriptRoot\functions\powershell\module\Update-ModuleVersion.ps1
. $PSScriptRoot\functions\powershell\module\Update-Psm1FromSource.ps1
. $PSScriptRoot\functions\secrets\New-SecretVault.ps1
. $PSScriptRoot\functions\secrets\Test-SecretVaultAvailable.ps1
. $PSScriptRoot\functions\softwareupdate\Get-AvailableDotNetComponents.ps1
. $PSScriptRoot\functions\softwareupdate\Get-InstalledDotNetComponents.ps1
. $PSScriptRoot\functions\softwareupdate\Get-MicrosoftComponentVersions.ps1

Export-ModuleMember -Function Add-ApplicationPermission, Add-CertificateReadPermission, Add-ServicePrincipalPermission
Export-ModuleMember -Function Connect-ToAzure, Connect-ToAzureDeviceCode
Export-ModuleMember -Function Convert-ToUtf8Bom
Export-ModuleMember -Function Enable-NavServerExcelAddIn
Export-ModuleMember -Function Export-FunctionDocs
Export-ModuleMember -Function Find-OrphanDockerLayers
Export-ModuleMember -Function Get-Application, Get-AvailableDotNetComponents, Get-AzStoredServicePrincipalCredential, Get-BcAdminSessionAzureRestApiVersion, Get-BcAdminSessionAzureSubscriptionId, Get-CertificateFriendlyName, Get-DynamicsPlatformVersions, Get-FilteredFiles, Get-FirstItem, Get-GitUrl, Get-HelpContent, Get-InstalledDotNetComponents, Get-KnownResourceAppId, Get-MicrosoftComponentVersions, Get-MicrosoftGraphPermissions, Get-MicrosoftGraphServicePrincipalId, Get-NavModuleVersion, Get-NavServerInstances, Get-NAVServerPlatform, Get-NavServicesCertificateFriendlyName, Get-NavServicesCertificateThumbprint, Get-NewestItem, Get-RequestHeaderAuthorization, Get-ScopeFromEndpoint, Get-ServicePrincipal
Export-ModuleMember -Function Invoke-DownloadAndExpand, Invoke-PowerShell, Invoke-PublishModule
Export-ModuleMember -Function New-ApplicationWithSecret, New-Directory, New-SecretVault, New-ServicePrincipal, New-TemporaryDirectory
Export-ModuleMember -Function Publish-MyModule
Export-ModuleMember -Function Register-AzBcOutlookAddInApp, Register-AzPsAutomationApp, Register-BcEntraIDApplications
Export-ModuleMember -Function Remove-AzStoredServicePrincipalCredential
Export-ModuleMember -Function Set-AzStoredServicePrincipalCredential, Set-ServicePrincipalTags
Export-ModuleMember -Function Test-AzContextAndConnect, Test-BcAdminSession, Test-IsUtf8WithBom, Test-SecretVaultAvailable
Export-ModuleMember -Function Update-BcAdminSessionToken, Update-ModuleVersion, Update-NavServerCertificate, Update-Psm1FromSource
Export-ModuleMember -Alias New-TempDirectory

$BcAdminSession = [ordered]@{
    AzureRestApiVersion       = '2024-08-01-preview'
    AzureTenantId             = $null
    AzureSubscriptionId       = $null
    AzureServicePrincipalName = $null
    AzureClientId             = $null
    AzureClientSecret         = $null
    AzureAccessTokens         = @{}
}
New-Variable -Name BcAdminSession  -Value $BcAdminSession -Scope Script -Force