functions/private/Update-PSIPAMSession.ps1

function Update-PSIPAMSession {
    [CmdletBinding()]
    param (
        [switch]
        $Force
    )
    $_tokenStatus = Test-PSIPAMSession
    if ($_tokenStatus -eq "NoToken") {
        throw "No session available!"
    }
    if ($_tokenStatus -eq "Valid") {
        return (Invoke-PSIPAMRequest -Method PATCH -Controller user).expires
    }
    if ($_tokenStatus -eq "Expired" -or $Force) {
        New-PSIPAMSession -URL $script:ipamURL -AppID $script:ipamAppID -Credentials $script:ipamCredentials
        return $script:ipamExpires
    }
}