// // Copyright Amazon.com Inc. or its affiliates. // All Rights Reserved. // // SPDX-License-Identifier: Apache-2.0 // import Foundation enum AuthorizationState: State { case notConfigured case configured case signingOut(AmplifyCredentials?) case clearingFederation case federatingToIdentityPool( FetchAuthSessionState, FederatedToken, existingCredentials: AmplifyCredentials) case fetchingUnAuthSession(FetchAuthSessionState) case fetchingAuthSessionWithUserPool(FetchAuthSessionState, SignedInData) case refreshingSession(existingCredentials: AmplifyCredentials, RefreshSessionState) case storingCredentials(AmplifyCredentials) case sessionEstablished(AmplifyCredentials) case deletingUser case error(AuthorizationError) } extension AuthorizationState { var type: String { switch self { case .notConfigured: return "AuthorizationState.notConfigured" case .configured: return "AuthorizationState.configured" case .signingOut: return "AuthorizationState.signingOut" case .federatingToIdentityPool: return "AuthorizationState.federatingToIdentityPool" case .clearingFederation: return "AuthorizationState.clearingFederation" case .fetchingUnAuthSession: return "AuthorizationState.fetchingUnAuthSession" case .sessionEstablished: return "AuthorizationState.sessionEstablished" case .refreshingSession: return "AuthorizationState.refreshingSession" case .storingCredentials: return "AuthorizationState.storingCredentials" case .fetchingAuthSessionWithUserPool: return "AuthorizationState.fetchingAuthSessionWithUserPool" case .deletingUser: return "AuthorizationState.deletingUser" case .error: return "AuthorizationState.error" } } }