Compare commits

..

1 commit

Author SHA1 Message Date
a9479d9106
feat: improve lpa parsing compatibility 2025-03-07 17:16:49 +08:00

View file

@ -7,9 +7,9 @@ data class ActivationCode(
val confirmationCodeRequired: Boolean = false, val confirmationCodeRequired: Boolean = false,
) { ) {
companion object { companion object {
fun fromString(input: String): ActivationCode { fun fromString(token: String): ActivationCode {
check(input.startsWith("LPA:", ignoreCase = true)) { "Invalid activation code format" } val input = if (token.startsWith("LPA:", true)) token.drop(4) else token
val components = input.drop(4).split('$').map { it.trim().ifEmpty { null } } val components = input.split('$').map { it.trim().ifEmpty { null } }
check(components.size >= 2) { "Invalid activation code format" } check(components.size >= 2) { "Invalid activation code format" }
check(components[0] == "1") { "Invalid activation code version" } check(components[0] == "1") { "Invalid activation code version" }
return ActivationCode( return ActivationCode(