Skip to content

Commit 9c96c87

Browse files
authored
chore(auth): Move SignIn and ConfirmSignIn to use cases (#3140)
1 parent 15c04fa commit 9c96c87

24 files changed

+1114
-728
lines changed

aws-auth-cognito/src/main/java/com/amplifyframework/auth/cognito/AWSCognitoAuthPlugin.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -232,28 +232,28 @@ class AWSCognitoAuthPlugin : AuthPlugin<AWSCognitoAuthService>() {
232232
password: String?,
233233
onSuccess: Consumer<AuthSignInResult>,
234234
onError: Consumer<AuthException>
235-
) = enqueue(onSuccess, onError) { queueFacade.signIn(username, password) }
235+
) = enqueue(onSuccess, onError) { useCaseFactory.signIn().execute(username, password) }
236236

237237
override fun signIn(
238238
username: String?,
239239
password: String?,
240240
options: AuthSignInOptions,
241241
onSuccess: Consumer<AuthSignInResult>,
242242
onError: Consumer<AuthException>
243-
) = enqueue(onSuccess, onError) { queueFacade.signIn(username, password, options) }
243+
) = enqueue(onSuccess, onError) { useCaseFactory.signIn().execute(username, password, options) }
244244

245245
override fun confirmSignIn(
246246
challengeResponse: String,
247247
onSuccess: Consumer<AuthSignInResult>,
248248
onError: Consumer<AuthException>
249-
) = enqueue(onSuccess, onError) { queueFacade.confirmSignIn(challengeResponse) }
249+
) = enqueue(onSuccess, onError) { useCaseFactory.confirmSignIn().execute(challengeResponse) }
250250

251251
override fun confirmSignIn(
252252
challengeResponse: String,
253253
options: AuthConfirmSignInOptions,
254254
onSuccess: Consumer<AuthSignInResult>,
255255
onError: Consumer<AuthException>
256-
) = enqueue(onSuccess, onError) { queueFacade.confirmSignIn(challengeResponse, options) }
256+
) = enqueue(onSuccess, onError) { useCaseFactory.confirmSignIn().execute(challengeResponse, options) }
257257

258258
override fun signInWithSocialWebUI(
259259
provider: AuthProvider,

aws-auth-cognito/src/main/java/com/amplifyframework/auth/cognito/AuthStateMachine.kt

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -132,12 +132,11 @@ internal class AuthStateMachine(
132132
}
133133

134134
// This function throws if the state machine is *not* in the required state
135-
internal suspend inline fun <reified T : AuthenticationState> AuthStateMachine.requireAuthenticationState() {
136-
if (getCurrentState().authNState !is T) {
137-
throw InvalidStateException(
138-
"Auth State Machine is not in the required authentication state: ${T::class.simpleName}"
139-
)
140-
}
135+
internal suspend inline fun <reified T : AuthenticationState> AuthStateMachine.requireAuthenticationState(): T {
136+
val currentState = getCurrentState()
137+
return currentState.authNState as? T ?: throw InvalidStateException(
138+
"Auth State Machine is not in the required authentication state: ${T::class.simpleName}"
139+
)
141140
}
142141

143142
// Returns the SignedInState or throws SignedOutException or InvalidStateException

aws-auth-cognito/src/main/java/com/amplifyframework/auth/cognito/CognitoAuthExceptionConverter.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,5 +102,7 @@ internal class CognitoAuthExceptionConverter {
102102
)
103103
else -> UnknownException(fallbackMessage, error)
104104
}
105+
106+
fun Exception.toAuthException(fallbackMessage: String) = lookup(this, fallbackMessage)
105107
}
106108
}

aws-auth-cognito/src/main/java/com/amplifyframework/auth/cognito/KotlinAuthFacadeInternal.kt

Lines changed: 0 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,7 @@ import com.amplifyframework.auth.AuthProvider
2121
import com.amplifyframework.auth.AuthSession
2222
import com.amplifyframework.auth.cognito.options.FederateToIdentityPoolOptions
2323
import com.amplifyframework.auth.cognito.result.FederateToIdentityPoolResult
24-
import com.amplifyframework.auth.options.AuthConfirmSignInOptions
2524
import com.amplifyframework.auth.options.AuthFetchSessionOptions
26-
import com.amplifyframework.auth.options.AuthSignInOptions
2725
import com.amplifyframework.auth.options.AuthSignOutOptions
2826
import com.amplifyframework.auth.options.AuthWebUISignInOptions
2927
import com.amplifyframework.auth.result.AuthSignInResult
@@ -34,44 +32,6 @@ import kotlin.coroutines.suspendCoroutine
3432

3533
internal class KotlinAuthFacadeInternal(private val delegate: RealAWSCognitoAuthPlugin) {
3634

37-
suspend fun signIn(username: String?, password: String?): AuthSignInResult = suspendCoroutine { continuation ->
38-
delegate.signIn(
39-
username,
40-
password,
41-
{ continuation.resume(it) },
42-
{ continuation.resumeWithException(it) }
43-
)
44-
}
45-
46-
suspend fun signIn(username: String?, password: String?, options: AuthSignInOptions): AuthSignInResult =
47-
suspendCoroutine { continuation ->
48-
delegate.signIn(
49-
username,
50-
password,
51-
options,
52-
{ continuation.resume(it) },
53-
{ continuation.resumeWithException(it) }
54-
)
55-
}
56-
57-
suspend fun confirmSignIn(challengeResponse: String): AuthSignInResult = suspendCoroutine { continuation ->
58-
delegate.confirmSignIn(
59-
challengeResponse,
60-
{ continuation.resume(it) },
61-
{ continuation.resumeWithException(it) }
62-
)
63-
}
64-
65-
suspend fun confirmSignIn(challengeResponse: String, options: AuthConfirmSignInOptions): AuthSignInResult =
66-
suspendCoroutine { continuation ->
67-
delegate.confirmSignIn(
68-
challengeResponse,
69-
options,
70-
{ continuation.resume(it) },
71-
{ continuation.resumeWithException(it) }
72-
)
73-
}
74-
7535
suspend fun signInWithSocialWebUI(provider: AuthProvider, callingActivity: Activity): AuthSignInResult =
7636
suspendCoroutine { continuation ->
7737
delegate.signInWithSocialWebUI(

0 commit comments

Comments
 (0)