IDBridge.psd1

@{
    RootModule        = 'IDBridge.psm1'
    ModuleVersion     = '26.6.21.0'
    GUID              = 'a0a0c664-888e-44e2-9c12-fc8647a520c0'
    Author            = 'Sam Cattanach'
    Description       = 'IdentityBridge — automated account provisioning for Google Workspace and Active Directory from school SIS/GSheet data.'
    PowerShellVersion = '7.5'

    # Explicitly list public functions so the module surface is intentional.
    # Internal helpers (private functions called only within other functions) are NOT listed here.
    FunctionsToExport = @(
        # Source data
        'Get-SourceDataGSheet'
        'Get-SourceDataSkywardSMS'
        'Get-SourceDataInfiniteCampus'
        'Remove-IDBridgeDuplicateID'
        'Show-GroupsNotProcessed'

        # Target data
        'Get-TargetDataGoogle'
        'Add-TargetDataGoogle'
        'Get-TargetDataAD'
        'Add-TargetDataAD'

        # AD processing
        'Get-ADOrgUnitsForProcessing'
        'Get-ADUsersToSetEmployeeID'
        'Get-ADUsersToDeactivate'
        'Get-ADUsersToUpdate'
        'Get-ADUsersToCreate'
        'Get-ADUserGroupsToUpdate'
        'New-IDBridgeADOrgUnit'
        'Disable-IDBridgeADUser'

        # Google processing
        'Get-GoogleData'
        'Get-GoogleOrgUnitsForProcessing'
        'Get-GoogleUsersToSetEmployeeID'
        'Get-GoogleUsersToDeactivate'
        'Get-GoogleUsersToUpdate'
        'Get-GoogleUsersToCreate'
        'Get-GoogleUserGroupsToUpdate'
        'Get-GoogleUsersOrphaned'
        'New-IDBridgeGoogleOrgUnit'
        'New-IDBridgeGoogleUser'
        'Update-IDBridgeGoogleUser'
        'Update-GoogleGroupMembers'

        # Google Sheets helpers
        'Get-GoogleSheetData'
        'Get-SheetIdByName'
        'Get-ColumnLetter'
        'Convert-CellToIndex'
        'Set-GSheetData'
        'Set-CheckboxesToFalse'
        'Push-LogsToSheet'

        # Auth & Config
        'Invoke-IDBridge'
        'Initialize-IDBridge'
        'Get-IDBridgeConfig'  # This is the public accessor for the config object after initialization. It will throw an error if called before Initialize-IDBridge.

        #Auth
        'Get-GoogleApiAccessToken'
        'Get-GoogleHeaders'

        # Logging & lifecycle
        'Write-Log'
        'Get-IDBridgeLogs' # This is the public accessor for the logs after initialization. It will throw an error if called before Initialize-IDBridge.

        # Helpers
        'Get-StudentGrade'
        'Get-RandomPassword'
        'New-Passphrase'

        # Plugins
        'Invoke-SourcePlugins'
        'Merge-IDBridgeOverrideData'
    )

    AliasesToExport   = @()
    CmdletsToExport   = @()
    VariablesToExport = @()
}