diff --git a/run.ps1 b/run.ps1 index 7f96a90..374ace3 100644 --- a/run.ps1 +++ b/run.ps1 @@ -10,39 +10,39 @@ if (-not $isAdmin) { Write-Host "Administrator privileges confirmed." Clear-Host -Write-Host "Select a module:" +Write-Host "Select a module:" -ForegroundColor Yellow $moduleNames = $modules.Keys | Sort-Object for ($i = 0; $i -lt $moduleNames.Count; $i++) { - Write-Host "[$($i+1)] $($moduleNames[$i])" + Write-Host "$($i+1). $($moduleNames[$i])" -ForegroundColor DarkYellow } do { $moduleSelection = Read-Host "Enter the number of your choice" $validModule = ($moduleSelection -as [int]) -and ($moduleSelection -ge 1) -and ($moduleSelection -le $moduleNames.Count) - if (-not $validModule) { Write-Host "Invalid module selection. Try again." } + if (-not $validModule) { Write-Host "Invalid module selection. Try again." -ForegroundColor Yellow } } until ($validModule) Clear-Host $selectedModule = $moduleNames[$moduleSelection - 1] $actions = $modules[$selectedModule] -Write-Host "Selected module: $selectedModule" +Write-Host "Selected module: $selectedModule" -ForegroundColor Yellow if ($args.Count -ge 1) { $action = $args[0] } else { Write-Host "Select an action for $selectedModule :" for ($i = 0; $i -lt $actions.Count; $i++) { - Write-Host "[$($i+1)] $($actions[$i])" + Write-Host "$($i+1). $($actions[$i])" -ForegroundColor DarkYellow } do { $selection = Read-Host "Enter the number of your choice" $valid = ($selection -as [int]) -and ($selection -ge 1) -and ($selection -le $actions.Count) - if (-not $valid) { Write-Host "Invalid selection. Try again." } + if (-not $valid) { Write-Host "Invalid selection. Try again." -ForegroundColor Yellow } } until ($valid) $action = $actions[$selection - 1] } Clear-Host -Write-Host "Selected action: $action" +Write-Host "Selected action: $action" -ForegroundColor Yellow & (Get-Variable $selectedModule).Value $action \ No newline at end of file diff --git a/src/modules/appdata-manager.ps1 b/src/modules/appdata-manager.ps1 index b4694d5..a5d0172 100644 --- a/src/modules/appdata-manager.ps1 +++ b/src/modules/appdata-manager.ps1 @@ -1,18 +1,12 @@ -# Manage symlink state. Reconnect = disconnect && connect param( - [string]$action = "reconnect" # connect | disconnect | reconnect + [string]$action = "reconnect" ) -Write-Host "Apps Manager started with action: $action" +Write-Host "AppData Manager started with action: $action" -ForegroundColor Yellow -# CSV file with applications -$config = $appsAll - -# Import CSV -$csv = Import-Csv -Path $config +$csv = Import-Csv -Path $appsAll foreach ($app in $csv) { - # Skip disabled entries if ($app.Enabled -ne "1") { continue } $AppName = $app.App @@ -30,12 +24,12 @@ foreach ($app in $csv) { $to = Join-Path $env:USERPROFILE $to } - Write-Host "==============================" - Write-Host "Processing $AppName with action $action (Type=$($app.Type))" - Write-Host " Raw From: $rawFrom" - Write-Host " Raw To : $rawTo" - Write-Host " Expanded From: $from" - Write-Host " Expanded To : $to" + Write-Host "==============================" -ForegroundColor Gray + Write-Host "Processing $AppName with action $action (Type=$($app.Type))" -ForegroundColor White + Write-Host " Raw From: $rawFrom" -ForegroundColor White + Write-Host " Raw To : $rawTo" -ForegroundColor White + Write-Host " Expanded From: $from" -ForegroundColor White + Write-Host " Expanded To : $to" -ForegroundColor White # Handle isolate type: execute a script instead of symlinks if ($app.Type -eq "isolate") { @@ -52,41 +46,41 @@ foreach ($app in $csv) { $scriptPath = Join-Path $apps "$safeName.ps1" } - Write-Host " Isolate mode: Executing script $scriptPath" + Write-Host " Isolate mode: Executing script $scriptPath" -ForegroundColor Yellow if (Test-Path $scriptPath) { try { # Pass action and app context to the script & $scriptPath -Action $action -AppName $AppName -From $from -To $to } catch { - Write-Error "Script failed for $AppName`: $($_.Exception.Message)" + Write-Error "Script failed for $AppName`: $($_.Exception.Message)" -ForegroundColor Red } } else { - Write-Warning "Isolate script not found: $scriptPath" + Write-Warning "Isolate script not found: $scriptPath" -ForegroundColor Red } - continue # Skip symlink handling + continue } switch ($action.ToLower()) { "disconnect" { - Write-Host " Removing $to" + Write-Host " Removing $to" -ForegroundColor Red if (Test-Path $to) { Remove-Item $to -Recurse -Force } } "connect" { - Write-Host " Creating symlink $to -> $from" + Write-Host " Creating symlink $to -> $from" -ForegroundColor Blue if (-not (Test-Path $to)) { New-Item -Path $to -ItemType SymbolicLink -Value $from | Out-Null } } "reconnect" { - Write-Host " Removing $to" + Write-Host " Removing $to" -ForegroundColor Red if (Test-Path $to) { Remove-Item $to -Recurse -Force } - Write-Host " Creating symlink $to -> $from" + Write-Host " Creating symlink $to -> $from" -ForegroundColor Blue if (-not (Test-Path $to)) { New-Item -Path $to -ItemType SymbolicLink -Value $from | Out-Null } } default { - Write-Warning "Unknown action: $action" + Write-Warning "Unknown action: $action" -ForegroundColor DarkYellow } } } diff --git a/src/modules/deploy.ps1 b/src/modules/deploy.ps1 index 4c5c732..0f4ebf4 100644 --- a/src/modules/deploy.ps1 +++ b/src/modules/deploy.ps1 @@ -3,7 +3,7 @@ param( [string]$Action = 'apply' ) -Write-Host "Deployment Manager started with action: $Action" +Write-Host "Deployment Manager started with action: $Action" -ForegroundColor Yellow # Define modules with their respective actions $Modules = @( @@ -16,7 +16,7 @@ $Modules = @( foreach ($module in $Modules) { $currentAction = if ($Action -eq 'apply') { $module.Apply } else { $module.Clean } - Write-Host "`n=== $($module.Name) : $currentAction" + Write-Host "`n=== $($module.Name) : $currentAction" -ForegroundColor White try { # Resolve the script path stored in a variable with the same name $scriptPath = (Get-Variable -Name $module.Name -ErrorAction Stop).Value @@ -25,12 +25,12 @@ foreach ($module in $Modules) { & $scriptPath $currentAction } else { - Write-Warning "Module script not found: $scriptPath" + Write-Warning "Module script not found: $scriptPath" -ForegroundColor DarkYellow } } catch { - Write-Warning "Could not resolve path for module '$($module.Name)': $_" + Write-Warning "Could not resolve path for module '$($module.Name)': $_" -ForegroundColor DarkYellow } } -Write-Host "`nDeployment finished." \ No newline at end of file +Write-Host "`nDeployment finished." -ForegroundColor Green \ No newline at end of file diff --git a/src/modules/mounts-manager.ps1 b/src/modules/mounts-manager.ps1 index 4512aab..0ec3b75 100644 --- a/src/modules/mounts-manager.ps1 +++ b/src/modules/mounts-manager.ps1 @@ -1,15 +1,10 @@ param( - [string]$action = "reconnect" # connect | disconnect | reconnect + [string]$action = "reconnect" ) -Write-Host "Folder Symlink Manager started with action: $action" - -# CSV file with folder mappings -$config = $mountsAll # переменная с путём к CSV - -# Import CSV -$csv = Import-Csv -Path $config +Write-Host "Mounts Manager started with action: $action" -ForegroundColor Yellow +$csv = Import-Csv -Path $mountsAll foreach ($entry in $csv) { if ($entry.Enabled -ne "1") { continue } @@ -28,26 +23,26 @@ foreach ($entry in $csv) { $to = Join-Path $env:USERPROFILE $to } - Write-Host "==============================" - Write-Host "Processing $Name with action $action" - Write-Host " From: $from" - Write-Host " To : $to" + Write-Host "===============================" -ForegroundColor Gray + Write-Host "Processing $Name with action $action" -ForegroundColor White + Write-Host " From: $from" -ForegroundColor White + Write-Host " To : $to" -ForegroundColor White switch ($action.ToLower()) { "disconnect" { - Write-Host " Removing $to" + Write-Host " Removing $to" -ForegroundColor Red if (Test-Path $to) { Remove-Item $to -Recurse -Force } } "connect" { - Write-Host " Creating symlink $to -> $from" + Write-Host " Creating symlink $to -> $from" -ForegroundColor Blue if (-not (Test-Path $to)) { New-Item -Path $to -ItemType SymbolicLink -Value $from | Out-Null } } "reconnect" { - Write-Host " Removing $to" + Write-Host " Removing $to" -ForegroundColor Red if (Test-Path $to) { Remove-Item $to -Recurse -Force } - Write-Host " Creating symlink $to -> $from" + Write-Host " Creating symlink $to -> $from" -ForegroundColor Blue if (-not (Test-Path $to)) { New-Item -Path $to -ItemType SymbolicLink -Value $from | Out-Null }