AutopilotFast.psm1

# AutopilotFast Module Loader
$sharedPsd1 = Join-Path (Split-Path $PSScriptRoot -Parent) 'IntuneShared\IntuneShared.psd1'
if (Test-Path $sharedPsd1) {
    Import-Module $sharedPsd1 -Global -Force -ErrorAction SilentlyContinue
} else {
    Import-Module IntuneShared -Global -Force -ErrorAction SilentlyContinue
}

$publicDir = Join-Path $PSScriptRoot 'Public'
$privateDir = Join-Path $PSScriptRoot 'Private'

$Public = @(Get-ChildItem -Path $publicDir -Filter '*.ps1' -ErrorAction SilentlyContinue)
$Private = @(Get-ChildItem -Path $privateDir -Filter '*.ps1' -ErrorAction SilentlyContinue)

foreach ($file in $Private) {
    . $file.FullName
}

foreach ($file in $Public) {
    . $file.FullName
}

Export-ModuleMember -Function @(
    'Get-AutopilotHash',
    'Export-AutopilotCsv',
    'Connect-AutopilotGraph',
    'Register-AutopilotDevice',
    'Set-AutopilotGroupTag',
    'Test-AutopilotReadiness'
) -Alias @(
    'Import-AutopilotDevice'
)