diff options
author | Iván Ávalos <avalos@disroot.org> | 2023-07-30 01:13:56 -0600 |
---|---|---|
committer | Iván Ávalos <avalos@disroot.org> | 2023-11-11 13:20:09 -0600 |
commit | c4daf6ba593a57fb25e1f4705b303350bf8a3fa1 (patch) | |
tree | 880a995eca7b8f34e22b594c0fdda75531e13a0e /anastasis/src/main/java/net/taler/anastasis/models/ReducerState.kt | |
parent | a31ca9fa74e07bc06af156c83592471ac3964121 (diff) | |
download | taler-android-c4daf6ba593a57fb25e1f4705b303350bf8a3fa1.tar.gz taler-android-c4daf6ba593a57fb25e1f4705b303350bf8a3fa1.tar.bz2 taler-android-c4daf6ba593a57fb25e1f4705b303350bf8a3fa1.zip |
Policy editing + too many things to list
Signed-off-by: Iván Ávalos <avalos@disroot.org>
Diffstat (limited to 'anastasis/src/main/java/net/taler/anastasis/models/ReducerState.kt')
-rw-r--r-- | anastasis/src/main/java/net/taler/anastasis/models/ReducerState.kt | 42 |
1 files changed, 39 insertions, 3 deletions
diff --git a/anastasis/src/main/java/net/taler/anastasis/models/ReducerState.kt b/anastasis/src/main/java/net/taler/anastasis/models/ReducerState.kt index 83afc88..036d075 100644 --- a/anastasis/src/main/java/net/taler/anastasis/models/ReducerState.kt +++ b/anastasis/src/main/java/net/taler/anastasis/models/ReducerState.kt @@ -1,9 +1,19 @@ package net.taler.anastasis.models +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.AccountBalance +import androidx.compose.material.icons.filled.Email +import androidx.compose.material.icons.filled.Mail +import androidx.compose.material.icons.filled.QuestionAnswer +import androidx.compose.material.icons.filled.QuestionMark +import androidx.compose.material.icons.filled.Sms +import androidx.compose.material.icons.filled.Token +import androidx.compose.ui.graphics.vector.ImageVector import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable import kotlinx.serialization.json.JsonClassDiscriminator +import net.taler.anastasis.R import net.taler.common.Amount import net.taler.common.Timestamp @@ -159,12 +169,38 @@ data class CoreSecret( @Serializable data class AuthMethod( - val type: String, + val type: Type, val instructions: String, val challenge: String, @SerialName("mime_type") val mimeType: String? = null, -) +) { + @Serializable + enum class Type( + val icon: ImageVector, + val nameRes: Int, + ) { + @SerialName("question") + Question(Icons.Default.QuestionAnswer, R.string.auth_method_question), + + @SerialName("sms") + Sms(Icons.Default.Sms, R.string.auth_method_sms), + + @SerialName("email") + Email(Icons.Default.Email, R.string.auth_method_email), + + @SerialName("iban") + Iban(Icons.Default.AccountBalance, R.string.auth_method_iban), + + @SerialName("mail") + Mail(Icons.Default.Mail, R.string.auth_method_mail), + + @SerialName("totp") + Totp(Icons.Default.Token, R.string.auth_method_totp), + + Unknown(Icons.Default.QuestionMark, R.string.unknown), + } +} @Serializable data class ChallengeInfo( @@ -283,7 +319,7 @@ enum class RecoveryStates { @Serializable data class MethodSpec( - val type: String, + val type: AuthMethod.Type, @SerialName("usage_fee") val usageFee: String, ) |