Merge branch 'main' of ssh://git.pwc.team:9921/Salesforce/sf-cli-wrapper

This commit is contained in:
reynold
2025-08-28 21:22:59 +08:00
5 changed files with 119 additions and 28 deletions

View File

@@ -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
)

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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"
}

View File

@@ -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"
}