diff --git a/sf-apex-run.ps1 b/sf-apex-run.ps1 index cfdae72..4bad4e6 100644 --- a/sf-apex-run.ps1 +++ b/sf-apex-run.ps1 @@ -42,8 +42,15 @@ param( [Parameter(ParameterSetName="Code")] [string]$code, + [Parameter(ParameterSetName="File")] + [Parameter(ParameterSetName="Code")] [string]$to, + + [Parameter(ParameterSetName="File")] + [Parameter(ParameterSetName="Code")] [switch]$ve, + + [Parameter(ParameterSetName="Help", Mandatory=$true)] [switch]$hp ) diff --git a/sf-data-export.ps1 b/sf-data-export.ps1 index 93561c8..b2eeb2a 100644 --- a/sf-data-export.ps1 +++ b/sf-data-export.ps1 @@ -32,7 +32,7 @@ .PARAMETER Wait Wait time in minutes (default: 10) (alias: -wt) -.PARAMETER Verbose +.PARAMETER VerboseOutput Enable verbose output (alias: -ve) .PARAMETER Help @@ -51,36 +51,64 @@ param( [Parameter(ParameterSetName="Query")] + [Parameter(ParameterSetName="Help")] [Alias("qy")] [string]$Query, [Parameter(ParameterSetName="File")] + [Parameter(ParameterSetName="Help")] [Alias("fl")] [string]$File, [Parameter(ParameterSetName="SObject")] + [Parameter(ParameterSetName="Help")] [Alias("so")] [string]$SObject, + [Parameter(ParameterSetName="Query")] + [Parameter(ParameterSetName="File")] + [Parameter(ParameterSetName="SObject")] + [Parameter(ParameterSetName="Help")] [Alias("ot")] [string]$Output = "export.csv", + [Parameter(ParameterSetName="Query")] + [Parameter(ParameterSetName="File")] + [Parameter(ParameterSetName="SObject")] + [Parameter(ParameterSetName="Help")] [Alias("to")] [string]$TargetOrg, + [Parameter(ParameterSetName="Query")] + [Parameter(ParameterSetName="File")] + [Parameter(ParameterSetName="SObject")] + [Parameter(ParameterSetName="Help")] [ValidateSet("csv", "json")] [Alias("fm")] [string]$Format = "csv", + [Parameter(ParameterSetName="Query")] + [Parameter(ParameterSetName="File")] + [Parameter(ParameterSetName="SObject")] + [Parameter(ParameterSetName="Help")] [Alias("bk")] [switch]$Bulk, + [Parameter(ParameterSetName="Query")] + [Parameter(ParameterSetName="File")] + [Parameter(ParameterSetName="SObject")] + [Parameter(ParameterSetName="Help")] [Alias("wt")] [int]$Wait = 10, - [Alias("vb")] - [switch]$Verbose, + [Parameter(ParameterSetName="Query")] + [Parameter(ParameterSetName="File")] + [Parameter(ParameterSetName="SObject")] + [Parameter(ParameterSetName="Help")] + [Alias("ve")] + [switch]$VerboseOutput, + [Parameter(ParameterSetName="Help", Mandatory=$true)] [Alias("hp")] [switch]$Help ) @@ -234,10 +262,8 @@ if ($TargetOrg) { Write-Host "Output format: $Format" -ForegroundColor Cyan Write-Host "Output file: $Output" -ForegroundColor Cyan -# Add verbose flag if requested -if ($Verbose) { - $sfArgs += "--verbose" -} +# Note: sf data commands don't support --verbose flag +# VerboseOutput only affects the script's own output (query preview) # Display export information Write-Host "" @@ -245,7 +271,7 @@ Write-Host "📊 Starting Data Export" -ForegroundColor Blue Write-Host "=======================" -ForegroundColor Blue # Show query preview if verbose -if ($Verbose) { +if ($VerboseOutput) { Write-Host "" Write-Host "📝 SOQL Query:" -ForegroundColor Yellow Write-Host "----------------------------------------" -ForegroundColor Gray @@ -287,7 +313,7 @@ try { } } - if ($Verbose) { + if ($VerboseOutput) { Write-Host "💡 Use a spreadsheet application or text editor to view the exported data" -ForegroundColor Yellow } } else { diff --git a/sf-data-import.ps1 b/sf-data-import.ps1 index 096bedb..865bf22 100644 --- a/sf-data-import.ps1 +++ b/sf-data-import.ps1 @@ -35,7 +35,7 @@ .PARAMETER IgnoreErrors Continue on errors (don't fail entire job) (alias: -ie) -.PARAMETER Verbose +.PARAMETER VerboseOutput Enable verbose output (alias: -ve) .PARAMETER Help @@ -57,39 +57,48 @@ #> param( - [Parameter(Mandatory)] + [Parameter(ParameterSetName="Import", Mandatory)] [Alias("fl")] [string]$File, - [Parameter(Mandatory)] + [Parameter(ParameterSetName="Import", Mandatory)] [Alias("so")] [string]$SObject, + [Parameter(ParameterSetName="Import")] [ValidateSet("insert", "update", "upsert")] [Alias("op")] [string]$Operation = "insert", + [Parameter(ParameterSetName="Import")] [Alias("ei")] [string]$ExternalId, + [Parameter(ParameterSetName="Import")] [Alias("to")] [string]$TargetOrg, + [Parameter(ParameterSetName="Import")] [Alias("bk")] [switch]$Bulk, + [Parameter(ParameterSetName="Import")] [Alias("wt")] [int]$Wait = 10, + [Parameter(ParameterSetName="Import")] [Alias("bs")] [int]$BatchSize = 10000, + [Parameter(ParameterSetName="Import")] [Alias("ie")] [switch]$IgnoreErrors, - [Alias("vb")] - [switch]$Verbose, + [Parameter(ParameterSetName="Import")] + [Alias("ve")] + [switch]$VerboseOutput, + [Parameter(ParameterSetName="Help", Mandatory=$true)] [Alias("hp")] [switch]$Help ) @@ -270,12 +279,18 @@ switch ($fileFormat) { } # Show file preview if verbose -if ($Verbose) { +if ($VerboseOutput) { Show-FilePreview $File $fileFormat } -# Build the sf command -$sfArgs = @("data", $Operation, "--file", $File, "--sobject", $SObject) +# Build the sf command based on file format +if ($fileFormat -eq "csv") { + # Use bulk import for CSV files + $sfArgs = @("data", "import", "bulk", "--file", $File, "--sobject", $SObject) +} else { + # Use tree import for JSON files + $sfArgs = @("data", "import", "tree", "--files", $File) +} # Add optional parameters if ($TargetOrg) { @@ -311,10 +326,8 @@ if ($IgnoreErrors) { Write-Host "Ignoring individual record errors" -ForegroundColor Yellow } -# Add verbose flag if requested -if ($Verbose) { - $sfArgs += "--verbose" -} +# Note: sf data import commands don't support --verbose flag +# VerboseOutput only affects the script's own output (file preview) # Display import information Write-Host "" @@ -349,7 +362,7 @@ try { } } - if ($Verbose) { + if ($VerboseOutput) { Write-Host "💡 Check the output above for detailed results and any warnings" -ForegroundColor Yellow } } else { diff --git a/sf-retrieve.ps1 b/sf-retrieve.ps1 index 4d3b8c2..2ae8d58 100644 --- a/sf-retrieve.ps1 +++ b/sf-retrieve.ps1 @@ -26,7 +26,7 @@ .PARAMETER Wait Wait time in minutes for the retrieve operation (default: 10) -.PARAMETER Verbose +.PARAMETER VerboseOutput Enable verbose output .PARAMETER Help @@ -53,10 +53,28 @@ param( [Parameter(ParameterSetName="Package")] [string]$Package, + [Parameter(ParameterSetName="Types")] + [Parameter(ParameterSetName="Manifest")] + [Parameter(ParameterSetName="Package")] [string]$OutputDir, + + [Parameter(ParameterSetName="Types")] + [Parameter(ParameterSetName="Manifest")] + [Parameter(ParameterSetName="Package")] [string]$o, + + [Parameter(ParameterSetName="Types")] + [Parameter(ParameterSetName="Manifest")] + [Parameter(ParameterSetName="Package")] [int]$Wait = 10, - [switch]$Verbose, + + [Parameter(ParameterSetName="Types")] + [Parameter(ParameterSetName="Manifest")] + [Parameter(ParameterSetName="Package")] + [switch]$VerboseOutput, + + [Parameter(ParameterSetName="Help", Mandatory=$true)] + [Alias("hp")] [switch]$Help ) @@ -166,7 +184,7 @@ if ($Wait -ne 10) { } # Add verbose flag if requested -if ($Verbose) { +if ($VerboseOutput) { $sfArgs += "--verbose" } diff --git a/sf-test-run.ps1 b/sf-test-run.ps1 index face55a..107419b 100644 --- a/sf-test-run.ps1 +++ b/sf-test-run.ps1 @@ -32,7 +32,7 @@ .PARAMETER OutputDir Directory to store test results and reports -.PARAMETER Verbose +.PARAMETER VerboseOutput Enable verbose test output .PARAMETER Help @@ -63,11 +63,38 @@ param( [Parameter(ParameterSetName="Suite")] [string]$Suite, + [Parameter(ParameterSetName="Classes")] + [Parameter(ParameterSetName="Methods")] + [Parameter(ParameterSetName="Level")] + [Parameter(ParameterSetName="Suite")] [switch]$Coverage, + + [Parameter(ParameterSetName="Classes")] + [Parameter(ParameterSetName="Methods")] + [Parameter(ParameterSetName="Level")] + [Parameter(ParameterSetName="Suite")] [int]$Wait = 10, + + [Parameter(ParameterSetName="Classes")] + [Parameter(ParameterSetName="Methods")] + [Parameter(ParameterSetName="Level")] + [Parameter(ParameterSetName="Suite")] [string]$o, + + [Parameter(ParameterSetName="Classes")] + [Parameter(ParameterSetName="Methods")] + [Parameter(ParameterSetName="Level")] + [Parameter(ParameterSetName="Suite")] [string]$OutputDir, - [switch]$Verbose, + + [Parameter(ParameterSetName="Classes")] + [Parameter(ParameterSetName="Methods")] + [Parameter(ParameterSetName="Level")] + [Parameter(ParameterSetName="Suite")] + [switch]$VerboseOutput, + + [Parameter(ParameterSetName="Help", Mandatory=$true)] + [Alias("hp")] [switch]$Help ) @@ -181,7 +208,7 @@ $sfArgs += "--result-format" $sfArgs += "human" # Add verbose flag if requested -if ($Verbose) { +if ($VerboseOutput) { $sfArgs += "--verbose" }