public/Get-UnraidPlugin.ps1
|
function Get-UnraidPlugin { <# .SYNOPSIS Lists installed plugins. .PARAMETER Session Unraid session (defaults to current session). .EXAMPLE Get-UnraidPlugin #> [CmdletBinding()] [OutputType("UnraidPlugin")] param( [Parameter()] [UnraidSession]$Session = $script:DefaultUnraidSession ) process { $gqlQuery = @" query GetPlugins { plugins { name version hasApiModule hasCliModule } } "@ Write-Verbose "Fetching installed plugins..." $result = Invoke-UnraidQuery -Query $gqlQuery -Session $Session if ($result.plugins) { #Todo: Create UnraidPlugin class? $pluginList = [System.Collections.Generic.List[UnraidPlugin]]::new() foreach ($pluginData in $result.plugins) { $pluginList.Add([UnraidPlugin]::new($pluginData)) } return $pluginList } } } |