WikiContainer.types.ps1xml

<?xml version="1.0" encoding="utf-8"?>
<Types>
    <Type>
        <Name>WikiContainer</Name>
        <Members>
            <PropertySet>
                <Name>DefaultDisplayPropertySet</Name>
                <ReferencedProperties>
                    <Name>Page</Name>
                    <Name>Properties</Name>
                    <Name>Labels</Name>
                </ReferencedProperties>
            </PropertySet>
 
            <ScriptProperty>
                <Name>AllProperties</Name>
                <GetScriptBlock>($this.Properties | Select-Object -ExpandProperty Properties)</GetScriptBlock>
            </ScriptProperty>
 
            <ScriptProperty>
                <Name>ContainerProperties</Name>
                <GetScriptBlock>($this.Properties | Where-Object { $_.Id -eq 'container' } | Select-Object -ExpandProperty Properties)</GetScriptBlock>
            </ScriptProperty>
 
            <ScriptProperty>
                <Name>ContainerName</Name>
                <GetScriptBlock>($this.Properties | Where-Object { $_.Id -eq 'container' } | Select-Object -ExpandProperty Properties | Foreach-Object { $_.Container } )</GetScriptBlock>
            </ScriptProperty>
            <ScriptProperty>
                <Name>ContainerProduct</Name>
                <GetScriptBlock>($this.Properties | Where-Object { $_.Id -eq 'container' } | Select-Object -ExpandProperty Properties | Foreach-Object { $_.Product } )</GetScriptBlock>
            </ScriptProperty>
            <ScriptProperty>
                <Name>ContainerType</Name>
                <GetScriptBlock>($this.Properties | Where-Object { $_.Id -eq 'container' } | Select-Object -ExpandProperty Properties | Foreach-Object { $_.Type } )</GetScriptBlock>
            </ScriptProperty>
            <ScriptProperty>
                <Name>ContainerFramework</Name>
                <GetScriptBlock>($this.Properties | Where-Object { $_.Id -eq 'container' } | Select-Object -ExpandProperty Properties | Foreach-Object { $_.'Main frameworks' } )</GetScriptBlock>
            </ScriptProperty>
            <ScriptProperty>
                <Name>ContainerDependencies</Name>
                <GetScriptBlock>($this.Properties | Where-Object { $_.Id -eq 'container' } | Select-Object -ExpandProperty Properties | Foreach-Object { $_.'Frameworks &amp; libraries' } )</GetScriptBlock>
            </ScriptProperty>
            <ScriptProperty>
                <Name>ContainerAuthentication</Name>
                <GetScriptBlock>($this.Properties | Where-Object { $_.Id -eq 'container' } | Select-Object -ExpandProperty Properties | Foreach-Object { $_.Authentication } )</GetScriptBlock>
            </ScriptProperty>
            <ScriptProperty>
                <Name>ContainerAuthorization</Name>
                <GetScriptBlock>($this.Properties | Where-Object { $_.Id -eq 'container' } | Select-Object -ExpandProperty Properties | Foreach-Object { $_.Authorization } )</GetScriptBlock>
            </ScriptProperty>
 
            <ScriptProperty>
                <Name>ArtifactType</Name>
                <GetScriptBlock>($this.GetType().Name)</GetScriptBlock>
            </ScriptProperty>
            <ScriptProperty>
                <Name>PageID</Name>
                <GetScriptBlock>($this.Page.ID)</GetScriptBlock>
            </ScriptProperty>
            <ScriptProperty>
                <Name>PageTitle</Name>
                <GetScriptBlock>($this.Page.Title)</GetScriptBlock>
            </ScriptProperty>
            <ScriptProperty>
                <Name>PageBody</Name>
                <GetScriptBlock>($this.Page.Body)</GetScriptBlock>
            </ScriptProperty>
            <ScriptProperty>
                <Name>PageSpaceKey</Name>
                <GetScriptBlock>($this.Page.Space.Key)</GetScriptBlock>
            </ScriptProperty>
            <ScriptProperty>
                <Name>PageSpace</Name>
                <GetScriptBlock>($this.Page.Space.Name)</GetScriptBlock>
            </ScriptProperty>
            <ScriptProperty>
                <Name>PageVersion</Name>
                <GetScriptBlock>($this.Page.Version.Number)</GetScriptBlock>
            </ScriptProperty>
            <ScriptProperty>
                <Name>PageLastUpdated</Name>
                <GetScriptBlock>($this.Page.Version.When)</GetScriptBlock>
            </ScriptProperty>
            <ScriptProperty>
                <Name>PageUri</Name>
                <GetScriptBlock>([uri]::new($this.Page.URL))</GetScriptBlock>
            </ScriptProperty>
            <ScriptProperty>
                <Name>PageEditUri</Name>
                <GetScriptBlock>([uri]::new($this.Page.URL -replace '/(\d+)$','/edit-v2/$1'))</GetScriptBlock>
            </ScriptProperty>
            <ScriptProperty>
                <Name>PageAncestors</Name>
                <GetScriptBlock>($this.Page.Ancestors)</GetScriptBlock>
            </ScriptProperty>
        </Members>
    </Type>
</Types>