resources/object.ps1
function Get-QlikObject { [CmdletBinding(DefaultParameterSetName="Multi")] param ( [parameter(ParameterSetName="Single",Mandatory=$false,Position=0)] [string]$id, [parameter(ParameterSetName="Multi",Mandatory=$false)] [string]$filter, [parameter(ParameterSetName="Multi",Mandatory=$false)] [switch]$full, [switch]$raw ) PROCESS { $path = "/qrs/app/object" If( $id ) { $path += "/$id" } If( $full ) { $path += "/full" } If( $raw ) { $rawOutput = $true } return Invoke-QlikGet $path $filter } } function Publish-QlikObject { [CmdletBinding()] param ( [parameter(Mandatory=$true,Position=0,ValueFromPipelinebyPropertyName=$True)] [string]$id ) PROCESS { $path = "/qrs/app/object/$id/publish" return Invoke-QlikPut $path } } function Remove-QlikObject { [CmdletBinding()] param ( [parameter(Mandatory=$true,Position=0,ValueFromPipelinebyPropertyName=$true)] [string]$id ) PROCESS { return Invoke-QlikDelete "/qrs/app/object/$id" } } function Unpublish-QlikObject { [CmdletBinding()] param ( [parameter(Mandatory=$true,Position=0,ValueFromPipelinebyPropertyName=$True)] [string]$id ) PROCESS { $path = "/qrs/app/object/$id/unpublish" return Invoke-QlikPut $path } } function Update-QlikObject { [CmdletBinding()] param ( [parameter(Mandatory=$true,ValueFromPipelinebyPropertyName=$True,Position=0)] [string]$id, [string]$owner, [bool]$approved ) PROCESS { $obj = Get-QlikObject $id -raw If( $owner ) { $obj.owner = @{id=$owner} } If( $psBoundParameters.ContainsKey("approved") ) { $obj.approved = $approved } $json = $obj | ConvertTo-Json -Compress -Depth 10 return Invoke-QlikPut "/qrs/app/object/$id" $json } } |