Pax8API/Public/Get-Pax8Products.ps1
|
function Get-Pax8Products { [CmdletBinding()] param ( [ValidateRange(0, [int]::MaxValue)] [int]$Page = 0, [ValidateRange(1, 200)] [int]$Size = 10, [ValidateSet('name', 'vendor')] [string]$Sort, [string]$Search, [string]$VendorName, [ValidateSet('asc', 'desc')] [string]$Direction, [string[]]$MatchProperty = @('name', 'vendorName', 'sku', 'vendorSku', 'altVendorSku'), [switch]$IncludeDescription, [switch]$Exact, [switch]$ForceClientSide, [switch]$NoClientSideFallback, [switch]$All, [switch]$Raw ) if ($Search -or $ForceClientSide) { $findParameters = @{ Page = $Page Size = $Size MatchProperty = $MatchProperty } if ($Search) { $findParameters.Search = $Search } if ($VendorName) { $findParameters.VendorName = $VendorName } if ($Sort) { $findParameters.Sort = $Sort } if ($Direction) { $findParameters.Direction = $Direction } if ($IncludeDescription) { $findParameters.IncludeDescription = $true } if ($Exact) { $findParameters.Exact = $true } if ($ForceClientSide) { $findParameters.ForceClientSide = $true } if ($NoClientSideFallback) { $findParameters.NoClientSideFallback = $true } if ($All) { $findParameters.All = $true } if ($Raw) { $findParameters.Raw = $true } return Find-Pax8Product @findParameters } $parameters = @{ Page = $Page Size = $Size } if ($VendorName) { $parameters.VendorName = $VendorName } if ($Sort) { $parameters.Sort = $Sort } if ($Direction) { $parameters.Direction = $Direction } if ($All) { $parameters.All = $true } if ($Raw) { $parameters.Raw = $true } Get-Pax8Product @parameters } |