Fixed loading the renamed TanMethodTypes
This commit is contained in:
parent
98f15d3a8d
commit
b5116604c1
|
@ -37,6 +37,13 @@ expect fun createSqlDriverDriver(dbName: String, schema: SqlSchema<QueryResult.A
|
|||
|
||||
open class SqliteBankingRepository : BankingRepository {
|
||||
|
||||
companion object {
|
||||
val TanMethodTypesToMigrate = mapOf(
|
||||
"ChipTanManuell" to TanMethodType.ChipTanManual.name,
|
||||
"ChipTanFlickercode" to TanMethodType.ChipTanFlickerCode.name
|
||||
)
|
||||
}
|
||||
|
||||
private val schema = BankmeisterDb.Schema
|
||||
|
||||
private val sqlDriver = createSqlDriverDriver("Bankmeister.db", schema, 2L)
|
||||
|
@ -251,7 +258,7 @@ open class SqliteBankingRepository : BankingRepository {
|
|||
bankId,
|
||||
|
||||
displayName,
|
||||
mapToEnum(type, TanMethodType.entries),
|
||||
mapToEnum(type, TanMethodType.entries, TanMethodTypesToMigrate),
|
||||
identifier,
|
||||
mapToInt(maxTanInputLength),
|
||||
mapToEnum(allowedTanFormat, AllowedTanFormat.entries),
|
||||
|
@ -597,7 +604,16 @@ open class SqliteBankingRepository : BankingRepository {
|
|||
private fun <E : Enum<E>> mapEnum(enum: Enum<E>): String = enum.name
|
||||
|
||||
private fun <E : Enum<E>> mapToEnum(enumName: String, values: EnumEntries<E>): E =
|
||||
try {
|
||||
values.first { it.name == enumName }
|
||||
} catch (e: Throwable) {
|
||||
log.error(e) { "Could not map enumName '$enumName' to ${values.first()::class}"}
|
||||
throw e
|
||||
}
|
||||
|
||||
|
||||
private fun <E : Enum<E>> mapToEnum(enumName: String, values: EnumEntries<E>, enumNamesToMigrate: Map<String, String>): E =
|
||||
mapToEnum(enumNamesToMigrate[enumName] ?: enumName, values)
|
||||
|
||||
private fun <E : Enum<E>> mapToEnumNullable(enumName: String, values: EnumEntries<E>): E? {
|
||||
val mapped = values.firstOrNull { it.name == enumName }
|
||||
|
|
Loading…
Reference in New Issue