Public/Set-ISDataFolder.ps1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function Set-ISDataFolder {
    param(
        [string] $ConfigPath,
        [string] $FolderName
    )

    $Xml = Load-XmlDocument -Path $ConfigPath

    $XmlNamespace = New-Object System.Xml.XmlNamespaceManager($Xml.NameTable)
    $XmlNamespace.AddNamespace("ns", "http://intellisearch.com/ICD/ICDConfiguration.xsd") #DevSkim: ignore DS137138

    # dataPath
    $Node = $Xml.SelectSingleNode("//ns:ICDConfiguration", $XmlNamespace)
    $Attribute = $Xml.CreateNode("attribute", "dataPath", "") #DevSkim: ignore DS137138
    $Attribute.Value = "..\..\..\Data\$($FolderName)\"
    [void] $Node.SetAttributeNode($Attribute)

    # cacheDataPath
    $Node = $Xml.SelectSingleNode("//ns:ICDConfiguration/ns:Cache", $XmlNamespace)
    [void] $Node.SetAttribute("cacheDataPath", "..\..\..\Data\$($FolderName)\Cache\")

    Save-XmlDocument -XmlDocument $Xml -Path $ConfigPath
}