public/Add-TranslationApiKey.ps1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
function Add-TranslationApiKey
{
    [CmdletBinding()]
    param
    (
        [Parameter(Mandatory = $true)]
        [string]
        $ApiKey,

        [Parameter(Mandatory = $true)]
        [string]
        $Provider,

        [switch]
        $Force
    )

    $path = Join-Path -Path $HOME -ChildPath '.pstranslate'

    if (-not (Test-Path -Path $path))
    {
        [void] (New-Item -ItemType Directory -Path $path)
    }

    $providerKeyFile = Get-ChildItem -Path $path -Filter $Provider

    if ($providerKeyFile -and -not $Force)
    {
        Write-Warning -Message "Skipping overwrite of existing API key in $providerKeyFile"
        return
    }

    $providerKeyFile = Join-Path -Path $path -ChildPath $Provider
    Set-Content -Value $ApiKey -Path $providerKeyFile -Force
}