Public/Get-CollectionResult.ps1
|
<# .SYNOPSIS Gets collection results from the Fortytwo Collections API. .DESCRIPTION This function retrieves collection results from the Fortytwo Collections API. #> function Get-CollectionResult { [CmdletBinding(DefaultParameterSetName = "Default")] param ( [Parameter(Mandatory = $true, ValueFromPipeline = $true)] [ValidatePattern("^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", ErrorMessage = "Id must be a valid GUID.")] # Is a guid connector object id [string] $CollectionId ) process { if (-not $Script:APIRoot -or -not $Script:AccessTokenProfile) { throw "Not connected to Fortytwo Collections. Please run Connect-Collections first." } $Uri = ($Script:APIRoot -f "collections", "/$CollectionId/results") Write-Verbose "Getting Collection Results from URI: $Uri" $Result = Invoke-RestMethod -Uri $Uri -Headers (Get-CollectionHeader) -SkipHttpErrorCheck -StatusCodeVariable StatusCode -Verbose:$false -ConnectionTimeoutSeconds 60 -OperationTimeoutSeconds 60 if ($Result.IsSuccess) { return $Result.Data } else { throw "Failed to get Collection Results: $($Result.Errors -join '; ')" } } } |