Private/Confirm-PackagePath.ps1

# Copyright 2019 David Haymond.
#
# This Source Code Form is subject to the terms of the Mozilla Public License,
# v. 2.0. If a copy of the MPL was not distributed with this file, You can
# obtain one at https://mozilla.org/MPL/2.0/.

function Confirm-PackagePath {
    [OutputType($null, [string])]
    param (
        [string] $ComputerName,
        [string] $Path,
        [switch] $Force
    )

    if (Test-Path -Path $Path -PathType Leaf) {
        if ($Force) {
            New-Item -ItemType Directory -Path $Path -Force
        }
        else {
            throw "A file already exists at the path `"$Path`". (Use the -Force parameter to overwrite files.)"
        }
    }

    $ppkgPath = Join-Path -Path $Path -ChildPath "$ComputerName.ppkg"
    if (!$Force -and (Test-Path -Path $ppkgPath)) {
        Write-Error "An item already exists at the path `"$ppkgPath`". (Use the -Force parameter to overwrite files.)"
    }
    else {
        $ppkgPath
    }
}