Private/Invoke-SnowBackendRequest.ps1
|
function Invoke-SnowBackendRequest { [CmdletBinding()] param( [Parameter(Mandatory)][string]$Table, [string]$Method = 'GET', [string]$SysId, [string]$Query, [string[]]$Fields, [int]$PageSize = 1000, [int]$First, [object]$Body, [string]$Backend ) $resolvedBackend = if ($Backend) { Resolve-SnowBackend -Backend $Backend } else { Resolve-SnowBackend } if ($resolvedBackend -eq 'Sdk') { return Invoke-SnowSdk -Table $Table -Method $Method -SysId $SysId -Query $Query -Fields $Fields -PageSize $PageSize -First $First -Body $Body } $request = @{ Table = $Table Method = $Method PageSize = $PageSize } if ($SysId) { $request.SysId = $SysId } if ($Query) { $request.Query = $Query } if ($Fields) { $request.Fields = $Fields } if ($null -ne $Body) { $request.Body = $Body } if ($PSBoundParameters.ContainsKey('First')) { $request.First = $First } if ($Method -ne 'GET') { $request.Confirm = $false } Invoke-SnowRequest @request } |