metasys-env-vars.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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
Set-StrictMode -Version 3
class MetasysEnvVars {
    static [string] getSiteHost() {
        return $env:METASYS_HOST
    }

    static [void] setSiteHost([string]$siteHost) {
        $env:METASYS_HOST = $siteHost
    }

    static [int] getVersion() {
        return $env:METASYS_VERSION
    }

    static [void] setVersion([int]$version) {
        $env:METASYS_VERSION = $version
    }

    static [DateTimeOffset] getExpires() {
        $aDate = [DateTimeOffset]::Now
        if ([DateTimeOffset]::TryParse($env:METASYS_EXPIRES, [ref]$aDate)) {
            return $aDate
        }
        return $null
    }

    static [void] setExpires([DateTimeOffset]$expires) {
        $env:METASYS_EXPIRES = $expires.ToString("o")
    }

    static [SecureString] getToken() {
        if ($env:METASYS_ACCESS_TOKEN) {
            return ConvertTo-SecureString $env:METASYS_ACCESS_TOKEN
        }
        return $null
    }

    static [void] setToken([SecureString]$token) {
        $env:METASYS_ACCESS_TOKEN = ConvertFrom-SecureString -SecureString $token
    }

    static [String] getTokenAsPlainText() {
        $secureToken = [MetasysEnvVars]::getToken()
        if ($secureToken) {
            return (ConvertFrom-SecureString -SecureString $secureToken -AsPlainText)
        }

        return $null
    }

    static [void] setTokenAsPlainText([String]$token) {
        [MetasysEnvVars]::setToken(($token | ConvertTo-SecureString -AsPlainText))
    }

    static [string] getLast() {
        return $env:METASYS_LAST_RESPONSE
    }

    static [void] setLast([string]$last) {
        $env:METASYS_LAST_RESPONSE = $last
    }

    static [void] clear() {
        $env:METASYS_ACCESS_TOKEN = $null
        $env:METASYS_HOST = $null
        $env:METASYS_VERSION = $null
        $env:METASYS_LAST_RESPONSE = $null
        $env:METASYS_EXPIRES = $null
        $env:METASYS_LAST_STATUS_CODE = $null
        $env:METASYS_LAST_STATUS_DESCRIPTION = $null
        $env:METASYS_LAST_HEADERS = $null
        $env:METASYS_USER_NAME = $null
    }

    static [void] setHeaders([Hashtable]$headers) {
        $env:METASYS_LAST_HEADERS = ConvertTo-Json -Depth 15 $headers
    }

    static [string] getHeaders() {
        return $env:METASYS_LAST_HEADERS
    }

    static [void] setStatus([int]$code, [string]$description) {
        $env:METASYS_LAST_STATUS_CODE = $code
        $env:METASYS_LAST_STATUS_DESCRIPTION = $description
    }

    static [string] getStatus() {
        return "$($env:METASYS_LAST_STATUS_CODE) ($($env:METASYS_LAST_STATUS_DESCRIPTION))"
    }

    static [Boolean] getDefaultSkipCheck() {
        return $env:METASYS_SKIP_CHECK_NOT_SECURE
    }

    static [string] getUserName() {
        return $env:METASYS_USER_NAME
    }

    static [void] setUserName([String]$UserName) {
        $env:METASYS_USER_NAME = $UserName
    }

}