IntuneBackup.psm1

#Requires -Version 7.0

<#
.SYNOPSIS
IntuneCD PowerShell Backup Module

.DESCRIPTION
Module that provides backup functionality for Intune configurations.
Dot-sources all core functions and backup modules.
#>


# Dot-source all core functions
$coreModules = Get-ChildItem -Path "$PSScriptRoot/core" -Filter '*.ps1' -ErrorAction SilentlyContinue
foreach ($module in $coreModules) {
    Write-Verbose "Loading core module: $($module.Name)"
    . $module.FullName
}

# Dot-source all backup modules
$backupModules = Get-ChildItem -Path "$PSScriptRoot/backup" -Filter '*.ps1' -ErrorAction SilentlyContinue
foreach ($module in $backupModules) {
    Write-Verbose "Loading backup module: $($module.Name)"
    . $module.FullName
}

# Dot-source the orchestrator (Phase 4)
if (Test-Path "$PSScriptRoot/Start-IntuneBackup.ps1") {
    Write-Verbose "Loading orchestrator: Start-IntuneBackup.ps1"
    . "$PSScriptRoot/Start-IntuneBackup.ps1"
}