forked from melod1n/fast-messenger
refactor(auth): reuse network ValidationType for validation flow
Remove duplicate auth ValidationType and use the shared network model instead. Add support for both "sms" and "2fa_sms" SMS validation values.
This commit is contained in:
@@ -2,7 +2,8 @@ package dev.meloda.fast.network
|
||||
|
||||
enum class ValidationType(val value: String) {
|
||||
APP("2fa_app"),
|
||||
SMS("2fa_sms");
|
||||
SMS("sms"),
|
||||
SMS2("2fa_sms");
|
||||
|
||||
companion object {
|
||||
fun parse(value: String): ValidationType =
|
||||
|
||||
@@ -4,7 +4,6 @@ import androidx.lifecycle.SavedStateHandle
|
||||
import androidx.lifecycle.ViewModel
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import dev.meloda.fast.auth.validation.model.ValidationScreenState
|
||||
import dev.meloda.fast.auth.validation.model.ValidationType
|
||||
import dev.meloda.fast.auth.validation.navigation.Validation
|
||||
import dev.meloda.fast.auth.validation.validation.ValidationValidator
|
||||
import dev.meloda.fast.common.extensions.createTimerFlow
|
||||
@@ -12,6 +11,7 @@ import dev.meloda.fast.common.extensions.listenValue
|
||||
import dev.meloda.fast.common.extensions.setValue
|
||||
import dev.meloda.fast.data.processState
|
||||
import dev.meloda.fast.domain.AuthUseCase
|
||||
import dev.meloda.fast.network.ValidationType
|
||||
import kotlinx.coroutines.Job
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
package dev.meloda.fast.auth.validation.model
|
||||
|
||||
enum class ValidationType(val value: String) {
|
||||
SMS("2fa_sms"),
|
||||
APP("2fa_app");
|
||||
|
||||
companion object {
|
||||
fun parse(value: String): ValidationType = entries.firstOrNull { it.value == value }
|
||||
?: throw IllegalArgumentException("Unknown validation type with value: $value")
|
||||
}
|
||||
}
|
||||
+2
-2
@@ -52,7 +52,7 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import dev.meloda.fast.auth.validation.ValidationViewModel
|
||||
import dev.meloda.fast.auth.validation.ValidationViewModelImpl
|
||||
import dev.meloda.fast.auth.validation.model.ValidationScreenState
|
||||
import dev.meloda.fast.auth.validation.model.ValidationType
|
||||
import dev.meloda.fast.network.ValidationType
|
||||
import dev.meloda.fast.ui.R
|
||||
import dev.meloda.fast.ui.common.FastPreview
|
||||
import dev.meloda.fast.ui.components.ActionInvokeDismiss
|
||||
@@ -118,7 +118,7 @@ fun ValidationScreen(
|
||||
val validationText by remember(validationType) {
|
||||
mutableStateOf(
|
||||
when (validationType) {
|
||||
ValidationType.SMS -> "SMS with the code is sent to ${screenState.phoneMask}"
|
||||
ValidationType.SMS, ValidationType.SMS2 -> "SMS with the code is sent to ${screenState.phoneMask}"
|
||||
ValidationType.APP -> "Enter the code from the code generator application"
|
||||
|
||||
null -> ""
|
||||
|
||||
Reference in New Issue
Block a user