Public/Get-DokuPageData.ps1
function Get-DokuPageData { <# .SYNOPSIS Returns the editor Wiki text for a page .DESCRIPTION Returns the editor Wiki text for a page .PARAMETER DokuSession The DokuSession (generated by New-DokuSession) from which to get the page data .PARAMETER FullName The full page name for which to return the data, including any namespaces .PARAMETER Raw Return only the raw wiki text, intead of an object .EXAMPLE PS C:\> $PageData = Get-DokuPageData -DokuSession $DokuSession -FullName "namespace:namespace:page" .OUTPUTS System.Management.Automation.PSObject .NOTES AndyDLP - 2018-05-26 #> [CmdletBinding()] [OutputType([psobject])] param ( [Parameter(Mandatory = $true, Position = 1, HelpMessage = 'The DokuSession from which to get the page data')] [ValidateNotNullOrEmpty()] [DokuWiki.Session.Detail]$DokuSession, [Parameter(Mandatory = $true, Position = 2, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, HelpMessage = 'The full page name for which to return the page data')] [ValidateNotNullOrEmpty()] [string[]]$FullName, [Parameter(Position = 3, HelpMessage = 'Return only the raw wiki text, intead of an object')] [switch]$Raw ) begin { } # begin process { foreach ($PageName in $FullName) { $APIResponse = Invoke-DokuApiCall -DokuSession $DokuSession -MethodName 'wiki.getPage' -MethodParameters @($PageName) if ($APIResponse.CompletedSuccessfully -eq $true) { $PageObject = New-Object PSObject -Property @{ FullName = $PageName RawText = [string]($APIResponse.XMLPayloadResponse | Select-Xml -XPath "//value/string").Node.InnerText TimeChecked = (Get-Date) PageName = ($PageName -split ":")[-1] ParentNamespace = ($PageName -split ":")[-2] RootNamespace = ($PageName -split ":")[0] } if ($Raw) { $PageObject.RawText } else { $PageObject } } elseif ($null -eq $APIResponse.ExceptionMessage) { Write-Error "Fault code: $($APIResponse.FaultCode) - Fault string: $($APIResponse.FaultString)" } else { Write-Error "Exception: $($APIResponse.ExceptionMessage)" } } # foreach } # process end { } # end } |