PowerShellUniversal.Apps.Cookbook.psm1
|
# Dot source all public and private functions (cross-platform paths) $Public = @( Get-ChildItem -Path (Join-Path $PSScriptRoot 'public' '*.ps1') -ErrorAction SilentlyContinue ) $Private = @( Get-ChildItem -Path (Join-Path $PSScriptRoot 'private' '*.ps1') -ErrorAction SilentlyContinue ) # Dot source the functions so helper functions (like Invoke-UniversalSQLiteQuery) are available for initialization foreach ($import in @($Public + $Private)) { try { . $import.FullName } catch { Write-Error -Message "Failed to import function $($import.FullName): $_" } } $DataHOME = Join-Path $PSScriptRoot -ChildPath 'data' $Schema = Join-Path $DataHOME -ChildPath 'Schema.sql' $Script:RecipeDbPath = Join-Path $DataHOME -ChildPath 'recipes.db' $script:RecipeImageRoot = Join-Path $env:ProgramData 'Recipebook' 'Images' $script:RecipeImageFolderName = 'recipe-images' $Script:RecipeSchemaSql = Get-Content -Raw $Schema Initialize-RecipeDbFile -Database $Script:RecipeDbPath # Auto-initialize on module import (you can remove this if you prefer explicit calls) Initialize-RecipeDatabase -Schema $Script:RecipeSchemaSql -Database $Script:RecipeDbPath |