71 lines
2.3 KiB
Swift
71 lines
2.3 KiB
Swift
//
|
|
// Copyright Amazon.com Inc. or its affiliates.
|
|
// All Rights Reserved.
|
|
//
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
//
|
|
|
|
import Foundation
|
|
|
|
enum RefreshSessionState: State {
|
|
|
|
case notStarted
|
|
|
|
case refreshingUnAuthAWSCredentials(IdentityID)
|
|
|
|
case refreshingUserPoolToken(SignedInData)
|
|
|
|
case refreshingUserPoolTokenWithIdentity(SignedInData, IdentityID)
|
|
|
|
case refreshingAWSCredentialsWithUserPoolTokens(SignedInData, IdentityID)
|
|
|
|
case fetchingAuthSessionWithUserPool(FetchAuthSessionState, SignedInData)
|
|
|
|
case refreshed(AmplifyCredentials)
|
|
|
|
case error(FetchSessionError)
|
|
|
|
}
|
|
|
|
extension RefreshSessionState: Equatable {
|
|
|
|
static func == (lhs: RefreshSessionState, rhs: RefreshSessionState) -> Bool {
|
|
switch (lhs, rhs) {
|
|
case (.notStarted, .notStarted),
|
|
(.refreshingUnAuthAWSCredentials, .refreshingUnAuthAWSCredentials),
|
|
(.refreshingUserPoolToken, .refreshingUserPoolToken),
|
|
(.refreshingUserPoolTokenWithIdentity, .refreshingUserPoolTokenWithIdentity),
|
|
(.refreshingAWSCredentialsWithUserPoolTokens, .refreshingAWSCredentialsWithUserPoolTokens),
|
|
(.refreshed, .refreshed),
|
|
(.error, .error):
|
|
return true
|
|
case (.fetchingAuthSessionWithUserPool(let lhsFetchState, _),
|
|
.fetchingAuthSessionWithUserPool(let rhsFetchState, _)):
|
|
return lhsFetchState == rhsFetchState
|
|
default:
|
|
return false
|
|
}
|
|
}
|
|
|
|
var type: String {
|
|
switch self {
|
|
case .notStarted:
|
|
return "RefreshSessionState.notStarted"
|
|
case .refreshingUserPoolToken:
|
|
return "RefreshSessionState.refreshingUserPoolToken"
|
|
case .refreshingUserPoolTokenWithIdentity:
|
|
return "RefreshSessionState.refreshingUserPoolTokenWithIdentity"
|
|
case .refreshingAWSCredentialsWithUserPoolTokens:
|
|
return "RefreshSessionState.refreshingAWSCredentialsWithUserPoolTokens"
|
|
case .fetchingAuthSessionWithUserPool:
|
|
return "RefreshSessionState.fetchingAuthSessionWithUserPool"
|
|
case .refreshed:
|
|
return "RefreshSessionState.refreshed"
|
|
case .refreshingUnAuthAWSCredentials:
|
|
return "RefreshSessionState.refreshingUnAuthAWSCredentials"
|
|
case .error:
|
|
return "RefreshSessionState.error"
|
|
}
|
|
}
|
|
}
|