Commands/Lexicons/app/bsky/unspecced/Search-BskyUnspeccedActorsSkeleton.ps1
function Search-BskyUnspeccedActorsSkeleton { <# .Synopsis app.bsky.unspecced.searchActorsSkeleton .Description app.bsky.unspecced.searchActorsSkeleton .Link https://github.com/bluesky-social/atproto/tree/main/lexicons/app/bsky/unspecced/searchActorsSkeleton.json #> [Alias('Search-BlueSkyUnspeccedActorsSkeleton','bsky.unspecced.searchActorsSkeleton','app.bsky.unspecced.searchActorsSkeleton')] [CmdletBinding(SupportsShouldProcess)] param( # search query string; syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended. For typeahead search, only simple term match is supported, not full syntax [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [ComponentModel.DefaultBindingProperty('q')] [String] $Q, # if true, acts as fast/simple 'typeahead' query [Parameter(ValueFromPipelineByPropertyName)] [ComponentModel.DefaultBindingProperty('typeahead')] [Management.Automation.SwitchParameter] $Typeahead, # A limit to the number of results returned. [Parameter(ValueFromPipelineByPropertyName)] [ComponentModel.DefaultBindingProperty('limit')] [Management.Automation.PSObject] $Limit, # optional pagination mechanism; may not necessarily allow scrolling through entire result set [Parameter(ValueFromPipelineByPropertyName)] [ComponentModel.DefaultBindingProperty('cursor')] [String] $Cursor, # If set, will cache results for performance. [Management.Automation.SwitchParameter] $Cache, # The authorization. This can be a JWT that accesses the at protocol or a credential. If this is provided as a credential the username is a handle or email and the password is the app password. [Alias('Authentication','AppPassword','Credential','PSCredential')] [Management.Automation.SwitchParameter] $Authorization, # If set, will return raw results. This will ignore -Property, -DecorateProperty, -ExpandProperty, and -PSTypeName. [Management.Automation.SwitchParameter] $Raw ) begin { $NamespaceID = 'app.bsky.unspecced.searchActorsSkeleton' $httpMethod = 'GET' $InvokeAtSplat = [Ordered]@{Method=$httpMethod} $InvokeAtSplat.DecorateProperty = [Ordered]@{ 'actors'='app.bsky.unspecced.defs#skeletonSearchActor' } $InvokeAtSplat["PSTypeName"] = $NamespaceID $parameterAliases = [Ordered]@{} $DataboundParameters = @() $AsByte = $false :nextParameter foreach ($paramMetadata in ([Management.Automation.CommandMetadata]$MyInvocation.MyCommand).Parameters.Values) { foreach ($attr in $paramMetadata.Attributes) { if ($attr -is [ComponentModel.DefaultBindingPropertyAttribute]) { $parameterAliases[$paramMetadata.Name] = $attr.Name $DataboundParameters += $paramMetadata.Name continue nextParameter } } } $parameterQueue = [Collections.Queue]::new() } process { $parameterQueue.Enqueue([Ordered]@{} + $PSBoundParameters) } end { $parameterQueue.ToArray() | Invoke-AtProtocol -Method $httpMethod -NamespaceID $NamespaceID -Parameter { $RestParameters =[Ordered]@{} foreach ($parameterName in $DataboundParameters) { if ($null -ne $_.($ParameterName)) { $RestParameters[$parameterName] = $_.($ParameterName) } } $RestParameters } -ParameterAlias $parameterAliases @InvokeAtSplat -ContentType $( if ($ContentType) { $ContentType } else { "application/json" } ) -AsByte:$AsByte -Property { $_ } -Cache:$( if ($cache) {$cache} else { $false } ) -Raw:$Raw -Authorization { if ($_.Authorization) { $_.Authorization } else { $null } } } } |