WikiKeyDataEntity.types.ps1xml

<?xml version="1.0" encoding="utf-8"?>
<Types>
    <Type>
        <Name>WikiKeyDataEntity</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>EntityProperties</Name>
                <GetScriptBlock>($this.Properties | Where-Object { $_.Id -eq $null } | Select-Object -ExpandProperty Properties)</GetScriptBlock>
            </ScriptProperty>
 
            <ScriptProperty>
                <Name>EntityName</Name>
                <GetScriptBlock>($this.Properties | Where-Object { $_.Id -eq $null } | Select-Object -ExpandProperty Properties | Foreach-Object { $_.Name } )</GetScriptBlock>
            </ScriptProperty>
            <ScriptProperty>
                <Name>EntityOwner</Name>
                <GetScriptBlock>($this.Properties | Where-Object { $_.Id -eq $null } | Select-Object -ExpandProperty Properties | Foreach-Object { $_.Owner } )</GetScriptBlock>
            </ScriptProperty>
            <ScriptProperty>
                <Name>EntityRetentionPolicy</Name>
                <GetScriptBlock>($this.Properties | Where-Object { $_.Id -eq $null } | Select-Object -ExpandProperty Properties | Foreach-Object { $_.'Retention policy' } )</GetScriptBlock>
            </ScriptProperty>
            <ScriptProperty>
                <Name>EntityDatabaseSchema</Name>
                <GetScriptBlock>($this.Properties | Where-Object { $_.Id -eq $null } | Select-Object -ExpandProperty Properties | Foreach-Object { $_.'Database schema' } )</GetScriptBlock>
            </ScriptProperty>
            <ScriptProperty>
                <Name>EntityDatabaseTable</Name>
                <GetScriptBlock>($this.Properties | Where-Object { $_.Id -eq $null } | Select-Object -ExpandProperty Properties | Foreach-Object { $_.'Table(s)' } )</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>