Skip to content

Commit a118d88

Browse files
committed
Consolidate on single toAuthCodeDeliveryDetails function
1 parent 8355ba6 commit a118d88

File tree

9 files changed

+38
-38
lines changed

9 files changed

+38
-38
lines changed

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

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ import com.amplifyframework.auth.cognito.result.GlobalSignOutError
7171
import com.amplifyframework.auth.cognito.result.HostedUIError
7272
import com.amplifyframework.auth.cognito.result.RevokeTokenError
7373
import com.amplifyframework.auth.cognito.usecases.ResetPasswordUseCase
74+
import com.amplifyframework.auth.cognito.util.toAuthCodeDeliveryDetails
7475
import com.amplifyframework.auth.exceptions.ConfigurationException
7576
import com.amplifyframework.auth.exceptions.InvalidStateException
7677
import com.amplifyframework.auth.exceptions.NotAuthorizedException
@@ -481,21 +482,7 @@ internal class RealAWSCognitoAuthPlugin(
481482
encodedContextData?.let { this.userContextData { encodedData = it } }
482483
}
483484

484-
val deliveryDetails = response?.codeDeliveryDetails?.let { details ->
485-
mapOf(
486-
"DESTINATION" to details.destination,
487-
"MEDIUM" to details.deliveryMedium?.value,
488-
"ATTRIBUTE" to details.attributeName
489-
)
490-
}
491-
492-
val codeDeliveryDetails = AuthCodeDeliveryDetails(
493-
deliveryDetails?.getValue("DESTINATION") ?: "",
494-
AuthCodeDeliveryDetails.DeliveryMedium.fromString(
495-
deliveryDetails?.getValue("MEDIUM")
496-
),
497-
deliveryDetails?.getValue("ATTRIBUTE")
498-
)
485+
val codeDeliveryDetails = response?.codeDeliveryDetails.toAuthCodeDeliveryDetails()
499486
onSuccess.accept(codeDeliveryDetails)
500487
logger.verbose("ResendSignUpCode Execution complete")
501488
} catch (exception: Exception) {

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

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ import aws.sdk.kotlin.services.cognitoidentityprovider.confirmSignUp
1919
import aws.sdk.kotlin.services.cognitoidentityprovider.model.AnalyticsMetadataType
2020
import aws.sdk.kotlin.services.cognitoidentityprovider.model.AttributeType
2121
import aws.sdk.kotlin.services.cognitoidentityprovider.signUp
22-
import com.amplifyframework.auth.AuthCodeDeliveryDetails
2322
import com.amplifyframework.auth.cognito.AuthEnvironment
2423
import com.amplifyframework.auth.cognito.helpers.AuthHelper
24+
import com.amplifyframework.auth.cognito.util.toAuthCodeDeliveryDetails
2525
import com.amplifyframework.auth.result.AuthSignUpResult
2626
import com.amplifyframework.auth.result.step.AuthNextSignUpStep
2727
import com.amplifyframework.auth.result.step.AuthSignUpStep
@@ -68,13 +68,7 @@ internal object SignUpCognitoActions : SignUpActions {
6868
}
6969
}
7070

71-
val codeDeliveryDetails = AuthCodeDeliveryDetails(
72-
response?.codeDeliveryDetails?.destination ?: "",
73-
AuthCodeDeliveryDetails.DeliveryMedium.fromString(
74-
response?.codeDeliveryDetails?.deliveryMedium?.value
75-
),
76-
response?.codeDeliveryDetails?.attributeName
77-
)
71+
val codeDeliveryDetails = response?.codeDeliveryDetails.toAuthCodeDeliveryDetails()
7872
val signUpData = SignUpData(
7973
username,
8074
event.signUpData.validationData,

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import com.amplifyframework.auth.cognito.exceptions.service.CodeDeliveryFailureE
2424
import com.amplifyframework.auth.cognito.options.AWSCognitoAuthResendUserAttributeConfirmationCodeOptions
2525
import com.amplifyframework.auth.cognito.requireAccessToken
2626
import com.amplifyframework.auth.cognito.requireSignedInState
27+
import com.amplifyframework.auth.cognito.util.toAuthCodeDeliveryDetails
2728
import com.amplifyframework.auth.options.AuthResendUserAttributeConfirmationCodeOptions
2829

2930
internal class ResendUserAttributeConfirmationUseCase(

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

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,12 @@ package com.amplifyframework.auth.cognito.usecases
1818
import aws.sdk.kotlin.services.cognitoidentityprovider.CognitoIdentityProviderClient
1919
import aws.sdk.kotlin.services.cognitoidentityprovider.forgotPassword
2020
import aws.sdk.kotlin.services.cognitoidentityprovider.model.AnalyticsMetadataType
21-
import aws.sdk.kotlin.services.cognitoidentityprovider.model.CodeDeliveryDetailsType
2221
import com.amplifyframework.AmplifyException
23-
import com.amplifyframework.auth.AuthCodeDeliveryDetails
2422
import com.amplifyframework.auth.AuthException
2523
import com.amplifyframework.auth.cognito.CognitoAuthExceptionConverter
2624
import com.amplifyframework.auth.cognito.helpers.AuthHelper
2725
import com.amplifyframework.auth.cognito.options.AWSCognitoAuthResetPasswordOptions
26+
import com.amplifyframework.auth.cognito.util.toAuthCodeDeliveryDetails
2827
import com.amplifyframework.auth.options.AuthResetPasswordOptions
2928
import com.amplifyframework.auth.result.AuthResetPasswordResult
3029
import com.amplifyframework.auth.result.step.AuthNextResetPasswordStep
@@ -88,15 +87,3 @@ internal class ResetPasswordUseCase(
8887
}
8988
}
9089
}
91-
92-
internal fun CodeDeliveryDetailsType?.toAuthCodeDeliveryDetails(): AuthCodeDeliveryDetails? {
93-
if (this == null) return this
94-
95-
requireNotNull(destination)
96-
97-
return AuthCodeDeliveryDetails(
98-
destination.toString(),
99-
AuthCodeDeliveryDetails.DeliveryMedium.fromString(deliveryMedium.toString()),
100-
attributeName
101-
)
102-
}

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import com.amplifyframework.auth.cognito.options.AWSCognitoAuthUpdateUserAttribu
2626
import com.amplifyframework.auth.cognito.options.AWSCognitoAuthUpdateUserAttributesOptions
2727
import com.amplifyframework.auth.cognito.requireAccessToken
2828
import com.amplifyframework.auth.cognito.requireSignedInState
29+
import com.amplifyframework.auth.cognito.util.toAuthCodeDeliveryDetails
2930
import com.amplifyframework.auth.options.AuthUpdateUserAttributeOptions
3031
import com.amplifyframework.auth.options.AuthUpdateUserAttributesOptions
3132
import com.amplifyframework.auth.result.AuthUpdateAttributeResult
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
/*
2+
* Copyright 2025 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License").
5+
* You may not use this file except in compliance with the License.
6+
* A copy of the License is located at
7+
*
8+
* http://aws.amazon.com/apache2.0
9+
*
10+
* or in the "license" file accompanying this file. This file is distributed
11+
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12+
* express or implied. See the License for the specific language governing
13+
* permissions and limitations under the License.
14+
*/
15+
16+
package com.amplifyframework.auth.cognito.util
17+
18+
import aws.sdk.kotlin.services.cognitoidentityprovider.model.CodeDeliveryDetailsType
19+
import com.amplifyframework.auth.AuthCodeDeliveryDetails
20+
21+
/**
22+
* Always returns an [AuthCodeDeliveryDetails]. If this type is null then the delivery details will be empty.
23+
*/
24+
internal fun CodeDeliveryDetailsType?.toAuthCodeDeliveryDetails(): AuthCodeDeliveryDetails = AuthCodeDeliveryDetails(
25+
this?.destination ?: "",
26+
AuthCodeDeliveryDetails.DeliveryMedium.fromString(this?.deliveryMedium?.value),
27+
this?.attributeName
28+
)

aws-auth-cognito/src/test/java/com/amplifyframework/auth/cognito/actions/SignUpCognitoActionsTest.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import com.amplifyframework.auth.cognito.AWSCognitoAuthService
2424
import com.amplifyframework.auth.cognito.AuthConfiguration
2525
import com.amplifyframework.auth.cognito.AuthEnvironment
2626
import com.amplifyframework.auth.cognito.StoreClientBehavior
27-
import com.amplifyframework.auth.cognito.usecases.toAuthCodeDeliveryDetails
27+
import com.amplifyframework.auth.cognito.util.toAuthCodeDeliveryDetails
2828
import com.amplifyframework.auth.result.step.AuthSignUpStep
2929
import com.amplifyframework.logging.Logger
3030
import com.amplifyframework.statemachine.EventDispatcher

aws-auth-cognito/src/test/java/com/amplifyframework/auth/cognito/usecases/CodeDeliveryDetailsTypeExtensionTest.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package com.amplifyframework.auth.cognito.usecases
1818
import aws.sdk.kotlin.services.cognitoidentityprovider.model.CodeDeliveryDetailsType
1919
import aws.sdk.kotlin.services.cognitoidentityprovider.model.DeliveryMediumType
2020
import com.amplifyframework.auth.AuthCodeDeliveryDetails
21+
import com.amplifyframework.auth.cognito.util.toAuthCodeDeliveryDetails
2122
import kotlin.test.assertEquals
2223
import org.junit.Test
2324

aws-auth-cognito/src/test/java/com/amplifyframework/auth/cognito/usecases/ResetPasswordUseCaseTest.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import aws.sdk.kotlin.services.cognitoidentityprovider.model.ForgotPasswordReque
2424
import aws.sdk.kotlin.services.cognitoidentityprovider.model.ForgotPasswordResponse
2525
import com.amplifyframework.auth.AuthException
2626
import com.amplifyframework.auth.cognito.helpers.AuthHelper
27+
import com.amplifyframework.auth.cognito.util.toAuthCodeDeliveryDetails
2728
import com.amplifyframework.auth.options.AuthResetPasswordOptions
2829
import com.amplifyframework.auth.result.AuthResetPasswordResult
2930
import com.amplifyframework.auth.result.step.AuthNextResetPasswordStep

0 commit comments

Comments
 (0)