Private/OrbitAPI/Get-OrbitSession.ps1
|
<#
Reuses the cached session from $Script:settings.sessionFile if it is still valid, otherwise logs in again via New-OrbitSession. #> function Get-OrbitSession { [CmdletBinding()] param( [Parameter(Mandatory=$false)][Switch]$Force = $false ) if ( $Force -eq $false -and ( Test-Path -Path $Script:settings.sessionFile ) ) { $cached = Get-Content -Encoding UTF8 -Path $Script:settings.sessionFile | ConvertFrom-Json $expires = [datetime]::Parse( $cached.expires, [System.Globalization.CultureInfo]::InvariantCulture, [System.Globalization.DateTimeStyles]::RoundtripKind ) if ( $expires -gt [datetime]::Now ) { $Script:sessionId = $cached.sessionId $Script:sessionToken = $cached.accessToken $Script:sessionExpires = $expires return } } New-OrbitSession } |