Functions/Public/Join-WHDQualifier.ps1
|
<#
.SYNOPSIS Join multiple WHD API qualifiers together with a logical operator. .DESCRIPTION This function joins multiple WHD API qualifiers together using a specified logical operator. .PARAMETER Qualifiers An array of qualifiers to join together. These should be generated by the New-WHDQualifier function. .PARAMETER JoinOperator The logical operator to use when joining the qualifiers. Options are AND and OR. .EXAMPLE $Qualifier1 = New-WHDQualifier -Attribute "email" -Operator "Equals" -Value "user@example.com" $Qualifier2 = New-WHDQualifier -Attribute "department" -Operator "Equals" -Value "IT" $JoinedQualifier = Join-WHDQualifier -Qualifiers @($Qualifier1, $Qualifier2) -JoinOperator "AND" #> function Join-WHDQualifier { [CmdletBinding()] [OutputType([object])] param ( [Parameter(Mandatory, Position = 0)] [WHDQualifier[]] $Qualifiers, [Parameter(Mandatory, Position = 1)] [WHDQualifierLogicalOperator] $JoinOperator ) # If we only receive one qualifier, just return it as-is # This keeps the sub-classes free from overlap if ($Qualifiers.Count -eq 1) { return $Qualifiers[0] } $Qualifier = [WHDGroupQualifier]::new($Qualifiers, $JoinOperator) return $Qualifier } |