fints4k/fints4javaLib/src/main/kotlin/net/dankito/fints/model/EnterTanResult.kt

42 lines
No EOL
1.3 KiB
Kotlin

package net.dankito.fints.model
import net.dankito.fints.messages.datenelemente.implementierte.tan.TanMedium
import net.dankito.fints.response.client.FinTsClientResponse
open class EnterTanResult protected constructor(
val enteredTan: String?,
val changeTanProcedureTo: TanProcedure?,
val changeTanMediumTo: TanMedium?,
val changeTanMediumResultCallback: ((FinTsClientResponse) -> Unit)? = null
) {
companion object {
fun userEnteredTan(enteredTan: String): EnterTanResult {
return EnterTanResult(enteredTan, null, null)
}
fun userDidNotEnterTan(): EnterTanResult {
return EnterTanResult(null, null, null)
}
fun userAsksToChangeTanProcedure(changeTanProcedureTo: TanProcedure): EnterTanResult {
return EnterTanResult(null, changeTanProcedureTo, null)
}
fun userAsksToChangeTanMedium(changeTanMediumTo: TanMedium, changeTanMediumResultCallback: (FinTsClientResponse) -> Unit): EnterTanResult {
return EnterTanResult(null, null, changeTanMediumTo, changeTanMediumResultCallback)
}
}
override fun toString(): String {
if (changeTanMediumTo != null) {
return "User asks to change TAN medium to $changeTanMediumTo"
}
return "enteredTan = $enteredTan"
}
}