Added and finTsModelOrDeserialized to

This commit is contained in:
dankito 2024-10-15 13:29:25 +02:00
parent 4802493886
commit 636963b3d4
4 changed files with 17 additions and 7 deletions

View File

@ -193,8 +193,8 @@ open class FinTsClient(
* 04 FinTS_3.0_Messages_Geschaeftsvorfaelle.pdf
*/
open suspend fun getRequiredDataToSendUserJobs(param: FinTsClientParameter): net.dankito.banking.client.model.response.FinTsClientResponse {
if (param.finTsModel != null) {
return net.dankito.banking.client.model.response.FinTsClientResponse(null, null, emptyList(), param.finTsModel)
param.finTsModelOrDeserialized?.let { finTsModel ->
return net.dankito.banking.client.model.response.FinTsClientResponse(null, null, emptyList(), finTsModel)
}
val defaultValues = (param as? GetAccountDataParameter)?.defaultBankValues
@ -213,7 +213,7 @@ open class FinTsClient(
}
protected open suspend fun getAccountInfo(param: FinTsClientParameter, bank: BankData): GetAccountInfoResponse {
param.finTsModel?.let {
param.finTsModelOrDeserialized?.let {
// TODO: implement
// return GetAccountInfoResponse(it)
}

View File

@ -2,6 +2,7 @@ package net.dankito.banking.client.model.parameter
import net.codinux.banking.fints.model.BankData
import net.codinux.banking.fints.model.TanMethodType
import net.codinux.banking.fints.serialization.FinTsModelSerializer
import net.dankito.banking.client.model.CustomerCredentials
@ -15,5 +16,12 @@ open class FinTsClientParameter(
open val tanMethodsNotSupportedByApplication: List<TanMethodType>? = null,
open val preferredTanMedium: String? = null, // the ID of the medium
open val abortIfTanIsRequired: Boolean = false,
open val finTsModel: BankData? = null
) : CustomerCredentials(bankCode, loginName, password)
open val finTsModel: BankData? = null,
open val serializedFinTsModel: String? = null
) : CustomerCredentials(bankCode, loginName, password) {
open val finTsModelOrDeserialized: BankData? by lazy {
finTsModel ?: serializedFinTsModel?.let { FinTsModelSerializer.deserializeFromJson(it) }
}
}

View File

@ -25,8 +25,9 @@ open class GetAccountDataParameter(
preferredTanMedium: String? = null,
abortIfTanIsRequired: Boolean = false,
finTsModel: BankData? = null,
serializedFinTsModel: String? = null,
open val defaultBankValues: BankData? = null
) : FinTsClientParameter(bankCode, loginName, password, preferredTanMethods, tanMethodsNotSupportedByApplication, preferredTanMedium, abortIfTanIsRequired, finTsModel) {
) : FinTsClientParameter(bankCode, loginName, password, preferredTanMethods, tanMethodsNotSupportedByApplication, preferredTanMedium, abortIfTanIsRequired, finTsModel, serializedFinTsModel) {
open val retrieveOnlyAccountInfo: Boolean
get() = retrieveBalance == false && retrieveTransactions == RetrieveTransactions.No

View File

@ -38,7 +38,8 @@ open class TransferMoneyParameter(
preferredTanMedium: String? = null,
abortIfTanIsRequired: Boolean = false,
finTsModel: BankData? = null,
serializedFinTsModel: String? = null,
open val selectAccountToUseForTransfer: ((List<AccountData>) -> AccountData?)? = null // TODO: use BankAccount instead of AccountData
) : FinTsClientParameter(bankCode, loginName, password, preferredTanMethods, tanMethodsNotSupportedByApplication, preferredTanMedium, abortIfTanIsRequired, finTsModel)
) : FinTsClientParameter(bankCode, loginName, password, preferredTanMethods, tanMethodsNotSupportedByApplication, preferredTanMedium, abortIfTanIsRequired, finTsModel, serializedFinTsModel)