Compare commits
24 Commits
88c64f1ff1
...
c564750832
Author | SHA1 | Date |
---|---|---|
dankito | c564750832 | |
dankito | d16289d824 | |
dankito | a2ac04f424 | |
dankito | 8247584a61 | |
dankito | 34e40aeee1 | |
dankito | 5d7ea48a46 | |
dankito | d055b61ed9 | |
dankito | 87c59e63ee | |
dankito | 40b916a49f | |
dankito | eabe2c4930 | |
dankito | 0f151a8f4f | |
dankito | 33a86607df | |
dankito | f154e60e1e | |
dankito | 7e5a455c24 | |
dankito | d8b0c89be7 | |
dankito | 3d385b5bdf | |
dankito | 4f3924f2cd | |
dankito | c0796cfc38 | |
dankito | 9857a0565d | |
dankito | a3dbe8f142 | |
dankito | 88f6d53ccb | |
dankito | 850beb8421 | |
dankito | da50b72898 | |
dankito | 237802b18d |
|
@ -7,9 +7,9 @@ import kotlinx.coroutines.withContext
|
||||||
import kotlinx.datetime.LocalDate
|
import kotlinx.datetime.LocalDate
|
||||||
import net.dankito.banking.client.model.parameter.GetAccountDataParameter
|
import net.dankito.banking.client.model.parameter.GetAccountDataParameter
|
||||||
import net.dankito.banking.client.model.response.GetAccountDataResponse
|
import net.dankito.banking.client.model.response.GetAccountDataResponse
|
||||||
import net.dankito.banking.fints.FinTsClient
|
import net.codinux.banking.fints.FinTsClient
|
||||||
import net.dankito.banking.fints.callback.SimpleFinTsClientCallback
|
import net.codinux.banking.fints.callback.SimpleFinTsClientCallback
|
||||||
import net.dankito.banking.fints.model.TanChallenge
|
import net.codinux.banking.fints.model.TanChallenge
|
||||||
import net.dankito.utils.multiplatform.extensions.millisSinceEpochAtSystemDefaultTimeZone
|
import net.dankito.utils.multiplatform.extensions.millisSinceEpochAtSystemDefaultTimeZone
|
||||||
import org.slf4j.LoggerFactory
|
import org.slf4j.LoggerFactory
|
||||||
import java.math.BigDecimal
|
import java.math.BigDecimal
|
||||||
|
|
|
@ -5,7 +5,7 @@ import net.codinux.banking.fints4k.android.Presenter
|
||||||
import net.codinux.banking.fints4k.android.R
|
import net.codinux.banking.fints4k.android.R
|
||||||
import net.codinux.banking.fints4k.android.adapter.viewholder.AccountTransactionsViewHolder
|
import net.codinux.banking.fints4k.android.adapter.viewholder.AccountTransactionsViewHolder
|
||||||
import net.dankito.banking.client.model.AccountTransaction
|
import net.dankito.banking.client.model.AccountTransaction
|
||||||
import net.dankito.banking.fints.util.toBigDecimal
|
import net.codinux.banking.fints.util.toBigDecimal
|
||||||
import net.dankito.utils.android.extensions.setTextColorToColorResource
|
import net.dankito.utils.android.extensions.setTextColorToColorResource
|
||||||
import net.dankito.utils.android.ui.adapter.ListRecyclerAdapter
|
import net.dankito.utils.android.ui.adapter.ListRecyclerAdapter
|
||||||
import org.slf4j.LoggerFactory
|
import org.slf4j.LoggerFactory
|
||||||
|
|
|
@ -15,9 +15,9 @@ import androidx.fragment.app.DialogFragment
|
||||||
import androidx.fragment.app.FragmentActivity
|
import androidx.fragment.app.FragmentActivity
|
||||||
import net.codinux.banking.fints4k.android.Presenter
|
import net.codinux.banking.fints4k.android.Presenter
|
||||||
import net.codinux.banking.fints4k.android.R
|
import net.codinux.banking.fints4k.android.R
|
||||||
import net.dankito.banking.fints.model.FlickerCodeTanChallenge
|
import net.codinux.banking.fints.model.FlickerCodeTanChallenge
|
||||||
import net.dankito.banking.fints.model.ImageTanChallenge
|
import net.codinux.banking.fints.model.ImageTanChallenge
|
||||||
import net.dankito.banking.fints.model.TanChallenge
|
import net.codinux.banking.fints.model.TanChallenge
|
||||||
import net.dankito.utils.android.extensions.getSpannedFromHtml
|
import net.dankito.utils.android.extensions.getSpannedFromHtml
|
||||||
import net.dankito.utils.android.extensions.show
|
import net.dankito.utils.android.extensions.show
|
||||||
|
|
||||||
|
|
|
@ -13,12 +13,12 @@ import net.dankito.banking.client.model.CustomerAccount
|
||||||
import net.dankito.banking.client.model.parameter.GetAccountDataParameter
|
import net.dankito.banking.client.model.parameter.GetAccountDataParameter
|
||||||
import net.dankito.banking.client.model.parameter.RetrieveTransactions
|
import net.dankito.banking.client.model.parameter.RetrieveTransactions
|
||||||
import net.dankito.banking.client.model.parameter.TransferMoneyParameter
|
import net.dankito.banking.client.model.parameter.TransferMoneyParameter
|
||||||
import net.dankito.banking.fints.FinTsClient
|
import net.codinux.banking.fints.FinTsClient
|
||||||
import net.dankito.banking.fints.callback.SimpleFinTsClientCallback
|
import net.codinux.banking.fints.callback.SimpleFinTsClientCallback
|
||||||
import net.dankito.banking.fints.extensions.toStringWithMinDigits
|
import net.codinux.banking.fints.extensions.toStringWithMinDigits
|
||||||
import net.dankito.banking.fints.getAccountData
|
import net.codinux.banking.fints.getAccountData
|
||||||
import net.dankito.banking.fints.model.TanChallenge
|
import net.codinux.banking.fints.model.TanChallenge
|
||||||
import net.dankito.banking.fints.transferMoney
|
import net.codinux.banking.fints.transferMoney
|
||||||
import util.CsvWriter
|
import util.CsvWriter
|
||||||
import util.OutputFormat
|
import util.OutputFormat
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package commands
|
package commands
|
||||||
|
|
||||||
import NativeApp
|
import NativeApp
|
||||||
import net.dankito.banking.fints.model.TanMethodType
|
import net.codinux.banking.fints.model.TanMethodType
|
||||||
|
|
||||||
|
|
||||||
data class CommonConfig(
|
data class CommonConfig(
|
||||||
|
|
|
@ -5,10 +5,10 @@ import com.github.ajalt.clikt.core.requireObject
|
||||||
import com.github.ajalt.clikt.parameters.arguments.argument
|
import com.github.ajalt.clikt.parameters.arguments.argument
|
||||||
import com.github.ajalt.clikt.parameters.options.option
|
import com.github.ajalt.clikt.parameters.options.option
|
||||||
import net.dankito.banking.client.model.parameter.TransferMoneyParameter
|
import net.dankito.banking.client.model.parameter.TransferMoneyParameter
|
||||||
import net.dankito.banking.fints.model.AccountData
|
import net.codinux.banking.fints.model.AccountData
|
||||||
import net.dankito.banking.fints.model.Amount
|
import net.codinux.banking.fints.model.Amount
|
||||||
import net.dankito.banking.fints.model.Currency
|
import net.codinux.banking.fints.model.Currency
|
||||||
import net.dankito.banking.fints.model.Money
|
import net.codinux.banking.fints.model.Money
|
||||||
|
|
||||||
|
|
||||||
class TransferMoneyCommand : CliktCommand("Transfers money from your account to a recipient", name = "transfer", printHelpOnEmptyArgs = true) {
|
class TransferMoneyCommand : CliktCommand("Transfers money from your account to a recipient", name = "transfer", printHelpOnEmptyArgs = true) {
|
||||||
|
|
|
@ -12,8 +12,8 @@ import kotlinx.datetime.LocalDate
|
||||||
import kotlinx.datetime.minus
|
import kotlinx.datetime.minus
|
||||||
import net.dankito.banking.client.model.parameter.GetAccountDataParameter
|
import net.dankito.banking.client.model.parameter.GetAccountDataParameter
|
||||||
import net.dankito.banking.client.model.parameter.RetrieveTransactions
|
import net.dankito.banking.client.model.parameter.RetrieveTransactions
|
||||||
import net.dankito.banking.fints.model.TanMethodType
|
import net.codinux.banking.fints.model.TanMethodType
|
||||||
import net.dankito.banking.fints.extensions.todayAtEuropeBerlin
|
import net.codinux.banking.fints.extensions.todayAtEuropeBerlin
|
||||||
import util.OutputFormat
|
import util.OutputFormat
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
package net.dankito.banking.fints
|
package net.codinux.banking.fints
|
||||||
|
|
||||||
import kotlinx.coroutines.runBlocking
|
import kotlinx.coroutines.runBlocking
|
||||||
import net.dankito.banking.client.model.parameter.GetAccountDataParameter
|
import net.dankito.banking.client.model.parameter.GetAccountDataParameter
|
||||||
import net.dankito.banking.client.model.parameter.TransferMoneyParameter
|
import net.dankito.banking.client.model.parameter.TransferMoneyParameter
|
||||||
import net.dankito.banking.client.model.response.GetAccountDataResponse
|
import net.dankito.banking.client.model.response.GetAccountDataResponse
|
||||||
import net.dankito.banking.client.model.response.TransferMoneyResponse
|
import net.dankito.banking.client.model.response.TransferMoneyResponse
|
||||||
import net.dankito.banking.fints.model.Money
|
import net.codinux.banking.fints.model.Money
|
||||||
|
|
||||||
|
|
||||||
fun FinTsClient.getAccountData(bankCode: String, loginName: String, password: String): GetAccountDataResponse {
|
fun FinTsClient.getAccountData(bankCode: String, loginName: String, password: String): GetAccountDataResponse {
|
|
@ -1,7 +1,7 @@
|
||||||
import kotlinx.coroutines.GlobalScope
|
import kotlinx.coroutines.GlobalScope
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import net.dankito.banking.client.model.AccountTransaction
|
import net.dankito.banking.client.model.AccountTransaction
|
||||||
import net.dankito.banking.fints.model.TanChallenge
|
import net.codinux.banking.fints.model.TanChallenge
|
||||||
import react.*
|
import react.*
|
||||||
import react.dom.*
|
import react.dom.*
|
||||||
import styled.styledDiv
|
import styled.styledDiv
|
||||||
|
|
|
@ -2,8 +2,8 @@ import io.ktor.util.encodeBase64
|
||||||
import kotlinx.html.InputType
|
import kotlinx.html.InputType
|
||||||
import kotlinx.html.js.onChangeFunction
|
import kotlinx.html.js.onChangeFunction
|
||||||
import kotlinx.html.style
|
import kotlinx.html.style
|
||||||
import net.dankito.banking.fints.model.ImageTanChallenge
|
import net.codinux.banking.fints.model.ImageTanChallenge
|
||||||
import net.dankito.banking.fints.model.TanChallenge
|
import net.codinux.banking.fints.model.TanChallenge
|
||||||
import org.w3c.dom.HTMLInputElement
|
import org.w3c.dom.HTMLInputElement
|
||||||
import react.Props
|
import react.Props
|
||||||
import react.RBuilder
|
import react.RBuilder
|
||||||
|
|
|
@ -6,11 +6,11 @@ import net.dankito.banking.client.model.parameter.GetAccountDataParameter
|
||||||
import net.dankito.banking.client.model.parameter.TransferMoneyParameter
|
import net.dankito.banking.client.model.parameter.TransferMoneyParameter
|
||||||
import net.dankito.banking.client.model.response.GetAccountDataResponse
|
import net.dankito.banking.client.model.response.GetAccountDataResponse
|
||||||
import net.dankito.banking.client.model.response.TransferMoneyResponse
|
import net.dankito.banking.client.model.response.TransferMoneyResponse
|
||||||
import net.dankito.banking.fints.FinTsClient
|
import net.codinux.banking.fints.FinTsClient
|
||||||
import net.dankito.banking.fints.callback.SimpleFinTsClientCallback
|
import net.codinux.banking.fints.callback.SimpleFinTsClientCallback
|
||||||
import net.dankito.banking.fints.model.*
|
import net.codinux.banking.fints.model.*
|
||||||
import net.dankito.banking.fints.webclient.KtorWebClient
|
import net.codinux.banking.fints.webclient.KtorWebClient
|
||||||
import net.dankito.banking.fints.webclient.ProxyingWebClient
|
import net.codinux.banking.fints.webclient.ProxyingWebClient
|
||||||
import net.dankito.utils.multiplatform.log.LoggerFactory
|
import net.dankito.utils.multiplatform.log.LoggerFactory
|
||||||
|
|
||||||
open class Presenter {
|
open class Presenter {
|
||||||
|
|
|
@ -34,7 +34,7 @@ kotlin {
|
||||||
browser {
|
browser {
|
||||||
testTask {
|
testTask {
|
||||||
useKarma {
|
useKarma {
|
||||||
// useChromeHeadless()
|
useChromeHeadless()
|
||||||
useFirefoxHeadless()
|
useFirefoxHeadless()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -43,10 +43,13 @@ kotlin {
|
||||||
nodejs()
|
nodejs()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// wasmJs() // ktor is not available for wasmJs yet
|
||||||
|
|
||||||
|
|
||||||
linuxX64()
|
linuxX64()
|
||||||
mingwX64()
|
mingwX64()
|
||||||
|
|
||||||
|
iosX64()
|
||||||
iosArm64()
|
iosArm64()
|
||||||
iosSimulatorArm64()
|
iosSimulatorArm64()
|
||||||
macosX64()
|
macosX64()
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package net.dankito.banking.fints
|
package net.codinux.banking.fints
|
||||||
|
|
||||||
import net.dankito.banking.client.model.parameter.FinTsClientParameter
|
import net.dankito.banking.client.model.parameter.FinTsClientParameter
|
||||||
import net.dankito.banking.client.model.parameter.GetAccountDataParameter
|
import net.dankito.banking.client.model.parameter.GetAccountDataParameter
|
||||||
|
@ -6,15 +6,15 @@ import net.dankito.banking.client.model.parameter.TransferMoneyParameter
|
||||||
import net.dankito.banking.client.model.response.ErrorCode
|
import net.dankito.banking.client.model.response.ErrorCode
|
||||||
import net.dankito.banking.client.model.response.GetAccountDataResponse
|
import net.dankito.banking.client.model.response.GetAccountDataResponse
|
||||||
import net.dankito.banking.client.model.response.TransferMoneyResponse
|
import net.dankito.banking.client.model.response.TransferMoneyResponse
|
||||||
import net.dankito.banking.fints.callback.FinTsClientCallback
|
import net.codinux.banking.fints.callback.FinTsClientCallback
|
||||||
import net.dankito.banking.fints.config.FinTsClientConfiguration
|
import net.codinux.banking.fints.config.FinTsClientConfiguration
|
||||||
import net.dankito.banking.fints.mapper.FinTsModelMapper
|
import net.codinux.banking.fints.mapper.FinTsModelMapper
|
||||||
import net.dankito.banking.fints.model.*
|
import net.codinux.banking.fints.model.*
|
||||||
import net.dankito.banking.fints.response.client.FinTsClientResponse
|
import net.codinux.banking.fints.response.client.FinTsClientResponse
|
||||||
import net.dankito.banking.fints.response.client.GetAccountInfoResponse
|
import net.codinux.banking.fints.response.client.GetAccountInfoResponse
|
||||||
import net.dankito.banking.fints.response.client.GetAccountTransactionsResponse
|
import net.codinux.banking.fints.response.client.GetAccountTransactionsResponse
|
||||||
import net.dankito.banking.fints.response.segments.AccountType
|
import net.codinux.banking.fints.response.segments.AccountType
|
||||||
import net.dankito.banking.fints.util.BicFinder
|
import net.codinux.banking.fints.util.BicFinder
|
||||||
|
|
||||||
|
|
||||||
open class FinTsClient(
|
open class FinTsClient(
|
||||||
|
@ -175,13 +175,13 @@ open class FinTsClient(
|
||||||
|
|
||||||
val newUserInfoResponse = config.jobExecutor.retrieveBasicDataLikeUsersTanMethods(context, param.preferredTanMethods, param.preferredTanMedium)
|
val newUserInfoResponse = config.jobExecutor.retrieveBasicDataLikeUsersTanMethods(context, param.preferredTanMethods, param.preferredTanMedium)
|
||||||
|
|
||||||
|
/* Second dialog, executed in retrieveBasicDataLikeUsersTanMethods() if required: some banks require that in order to initialize a dialog with
|
||||||
|
strong customer authorization TAN media is required */
|
||||||
|
|
||||||
if (newUserInfoResponse.successful == false) { // bank parameter (FinTS server address, ...) already seem to be wrong
|
if (newUserInfoResponse.successful == false) { // bank parameter (FinTS server address, ...) already seem to be wrong
|
||||||
return GetAccountInfoResponse(context, newUserInfoResponse)
|
return GetAccountInfoResponse(context, newUserInfoResponse)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Second dialog, executed in retrieveBasicDataLikeUsersTanMethods() if required: some banks require that in order to initialize a dialog with
|
|
||||||
strong customer authorization TAN media is required */
|
|
||||||
|
|
||||||
val getAccountsResponse = config.jobExecutor.getAccounts(context)
|
val getAccountsResponse = config.jobExecutor.getAccounts(context)
|
||||||
|
|
||||||
return GetAccountInfoResponse(context, getAccountsResponse)
|
return GetAccountInfoResponse(context, getAccountsResponse)
|
|
@ -1,17 +1,16 @@
|
||||||
package net.dankito.banking.fints
|
package net.codinux.banking.fints
|
||||||
|
|
||||||
import kotlinx.coroutines.GlobalScope
|
import kotlinx.coroutines.GlobalScope
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import kotlinx.datetime.*
|
import kotlinx.datetime.*
|
||||||
import net.dankito.banking.fints.callback.FinTsClientCallback
|
import net.codinux.banking.fints.callback.FinTsClientCallback
|
||||||
import net.dankito.banking.fints.config.FinTsClientConfiguration
|
import net.codinux.banking.fints.config.FinTsClientConfiguration
|
||||||
import net.dankito.banking.fints.extensions.minusDays
|
import net.codinux.banking.fints.extensions.minusDays
|
||||||
import net.dankito.banking.fints.extensions.todayAtEuropeBerlin
|
import net.codinux.banking.fints.extensions.todayAtEuropeBerlin
|
||||||
import net.dankito.banking.fints.messages.datenelemente.implementierte.tan.*
|
import net.codinux.banking.fints.messages.datenelemente.implementierte.tan.*
|
||||||
import net.dankito.banking.fints.model.*
|
import net.codinux.banking.fints.model.*
|
||||||
import net.dankito.banking.fints.response.BankResponse
|
import net.codinux.banking.fints.response.BankResponse
|
||||||
import net.dankito.banking.fints.response.client.*
|
import net.codinux.banking.fints.response.client.*
|
||||||
import net.dankito.banking.fints.webclient.IWebClient
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -26,19 +25,6 @@ open class FinTsClientDeprecated(
|
||||||
constructor(callback: FinTsClientCallback) : this(FinTsClientConfiguration(), callback)
|
constructor(callback: FinTsClientCallback) : this(FinTsClientConfiguration(), callback)
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Retrieves information about bank (e.g. supported HBCI versions, FinTS server address,
|
|
||||||
* supported jobs, ...).
|
|
||||||
*
|
|
||||||
* On success [bank] parameter is updated afterwards.
|
|
||||||
*/
|
|
||||||
open fun getAnonymousBankInfoAsync(bank: BankData, callback: (FinTsClientResponse) -> Unit) {
|
|
||||||
|
|
||||||
GlobalScope.launch {
|
|
||||||
callback(getAnonymousBankInfo(bank))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieves information about bank (e.g. supported HBCI versions, FinTS server address,
|
* Retrieves information about bank (e.g. supported HBCI versions, FinTS server address,
|
||||||
* supported jobs, ...).
|
* supported jobs, ...).
|
|
@ -1,11 +1,11 @@
|
||||||
package net.dankito.banking.fints
|
package net.codinux.banking.fints
|
||||||
|
|
||||||
import net.dankito.banking.fints.callback.FinTsClientCallback
|
import net.codinux.banking.fints.callback.FinTsClientCallback
|
||||||
import net.dankito.banking.fints.config.FinTsClientConfiguration
|
import net.codinux.banking.fints.config.FinTsClientConfiguration
|
||||||
import net.dankito.banking.fints.model.*
|
import net.codinux.banking.fints.model.*
|
||||||
import net.dankito.banking.fints.response.client.AddAccountResponse
|
import net.codinux.banking.fints.response.client.AddAccountResponse
|
||||||
import net.dankito.banking.fints.response.client.FinTsClientResponse
|
import net.codinux.banking.fints.response.client.FinTsClientResponse
|
||||||
import net.dankito.banking.fints.response.client.GetAccountTransactionsResponse
|
import net.codinux.banking.fints.response.client.GetAccountTransactionsResponse
|
||||||
|
|
||||||
|
|
||||||
open class FinTsClientForCustomer(
|
open class FinTsClientForCustomer(
|
|
@ -1,26 +1,26 @@
|
||||||
package net.dankito.banking.fints
|
package net.codinux.banking.fints
|
||||||
|
|
||||||
import kotlinx.coroutines.delay
|
import kotlinx.coroutines.delay
|
||||||
import kotlinx.datetime.LocalDate
|
import kotlinx.datetime.LocalDate
|
||||||
import net.codinux.log.logger
|
import net.codinux.log.logger
|
||||||
import net.dankito.banking.fints.messages.MessageBuilder
|
import net.codinux.banking.fints.messages.MessageBuilder
|
||||||
import net.dankito.banking.fints.messages.MessageBuilderResult
|
import net.codinux.banking.fints.messages.MessageBuilderResult
|
||||||
import net.dankito.banking.fints.messages.datenelemente.implementierte.signatur.VersionDesSicherheitsverfahrens
|
import net.codinux.banking.fints.messages.datenelemente.implementierte.signatur.VersionDesSicherheitsverfahrens
|
||||||
import net.dankito.banking.fints.messages.datenelemente.implementierte.tan.*
|
import net.codinux.banking.fints.messages.datenelemente.implementierte.tan.*
|
||||||
import net.dankito.banking.fints.messages.segmente.id.CustomerSegmentId
|
import net.codinux.banking.fints.messages.segmente.id.CustomerSegmentId
|
||||||
import net.dankito.banking.fints.messages.segmente.id.ISegmentId
|
import net.codinux.banking.fints.messages.segmente.id.ISegmentId
|
||||||
import net.dankito.banking.fints.model.*
|
import net.codinux.banking.fints.model.*
|
||||||
import net.dankito.banking.fints.model.mapper.ModelMapper
|
import net.codinux.banking.fints.model.mapper.ModelMapper
|
||||||
import net.dankito.banking.fints.response.BankResponse
|
import net.codinux.banking.fints.response.BankResponse
|
||||||
import net.dankito.banking.fints.response.InstituteSegmentId
|
import net.codinux.banking.fints.response.InstituteSegmentId
|
||||||
import net.dankito.banking.fints.response.client.*
|
import net.codinux.banking.fints.response.client.*
|
||||||
import net.dankito.banking.fints.response.segments.*
|
import net.codinux.banking.fints.response.segments.*
|
||||||
import net.dankito.banking.fints.tan.FlickerCodeDecoder
|
import net.codinux.banking.fints.tan.FlickerCodeDecoder
|
||||||
import net.dankito.banking.fints.tan.TanImageDecoder
|
import net.codinux.banking.fints.tan.TanImageDecoder
|
||||||
import net.dankito.banking.fints.util.TanMethodSelector
|
import net.codinux.banking.fints.util.TanMethodSelector
|
||||||
import net.dankito.banking.fints.extensions.minusDays
|
import net.codinux.banking.fints.extensions.minusDays
|
||||||
import net.dankito.banking.fints.extensions.todayAtEuropeBerlin
|
import net.codinux.banking.fints.extensions.todayAtEuropeBerlin
|
||||||
import net.dankito.banking.fints.extensions.todayAtSystemDefaultTimeZone
|
import net.codinux.banking.fints.extensions.todayAtSystemDefaultTimeZone
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,17 +1,18 @@
|
||||||
package net.dankito.banking.fints
|
package net.codinux.banking.fints
|
||||||
|
|
||||||
import net.codinux.log.logger
|
import net.codinux.log.logger
|
||||||
import net.dankito.banking.fints.messages.MessageBuilder
|
import net.codinux.banking.fints.messages.MessageBuilder
|
||||||
import net.dankito.banking.fints.messages.MessageBuilderResult
|
import net.codinux.banking.fints.messages.MessageBuilderResult
|
||||||
import net.dankito.banking.fints.model.*
|
import net.codinux.banking.fints.model.*
|
||||||
import net.dankito.banking.fints.response.BankResponse
|
import net.codinux.banking.fints.response.BankResponse
|
||||||
import net.dankito.banking.fints.response.segments.TanResponse
|
import net.codinux.banking.fints.response.segments.TanResponse
|
||||||
import net.dankito.banking.fints.util.IBase64Service
|
import net.codinux.banking.fints.util.IBase64Service
|
||||||
import net.dankito.banking.fints.util.PureKotlinBase64Service
|
import net.codinux.banking.fints.util.PureKotlinBase64Service
|
||||||
import net.dankito.banking.fints.webclient.IWebClient
|
import net.codinux.banking.fints.webclient.IWebClient
|
||||||
import net.dankito.banking.fints.webclient.KtorWebClient
|
import net.codinux.banking.fints.webclient.KtorWebClient
|
||||||
import net.dankito.banking.fints.webclient.WebClientResponse
|
import net.codinux.banking.fints.webclient.WebClientResponse
|
||||||
import net.dankito.banking.fints.extensions.getAllExceptionMessagesJoined
|
import net.codinux.banking.fints.extensions.getAllExceptionMessagesJoined
|
||||||
|
import net.codinux.banking.fints.response.segments.ReceivedSegment
|
||||||
|
|
||||||
|
|
||||||
open class RequestExecutor(
|
open class RequestExecutor(
|
||||||
|
@ -104,9 +105,11 @@ open class RequestExecutor(
|
||||||
try {
|
try {
|
||||||
val decodedResponse = decodeBase64Response(responseBody)
|
val decodedResponse = decodeBase64Response(responseBody)
|
||||||
|
|
||||||
addMessageLog(context, MessageLogEntryType.Received, decodedResponse)
|
val parsedResponse = context.responseParser.parse(decodedResponse)
|
||||||
|
|
||||||
return context.responseParser.parse(decodedResponse)
|
addMessageLog(context, MessageLogEntryType.Received, decodedResponse, parsedResponse.receivedSegments)
|
||||||
|
|
||||||
|
return parsedResponse
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
logError(context, "Could not decode responseBody:\r\n'$responseBody'", e)
|
logError(context, "Could not decode responseBody:\r\n'$responseBody'", e)
|
||||||
|
|
||||||
|
@ -164,8 +167,8 @@ open class RequestExecutor(
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
protected open fun addMessageLog(context: JobContext, type: MessageLogEntryType, message: String) {
|
protected open fun addMessageLog(context: JobContext, type: MessageLogEntryType, message: String, parsedSegments: List<ReceivedSegment> = emptyList()) {
|
||||||
context.addMessageLog(type, message)
|
context.addMessageLog(type, message, parsedSegments)
|
||||||
}
|
}
|
||||||
|
|
||||||
protected open fun logError(context: JobContext, message: String, e: Exception?) {
|
protected open fun logError(context: JobContext, message: String, e: Exception?) {
|
|
@ -1,7 +1,7 @@
|
||||||
package net.dankito.banking.fints.callback
|
package net.codinux.banking.fints.callback
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.datenelemente.implementierte.tan.TanGeneratorTanMedium
|
import net.codinux.banking.fints.messages.datenelemente.implementierte.tan.TanGeneratorTanMedium
|
||||||
import net.dankito.banking.fints.model.*
|
import net.codinux.banking.fints.model.*
|
||||||
|
|
||||||
|
|
||||||
interface FinTsClientCallback {
|
interface FinTsClientCallback {
|
||||||
|
@ -27,4 +27,11 @@ interface FinTsClientCallback {
|
||||||
*/
|
*/
|
||||||
suspend fun enterTanGeneratorAtc(bank: BankData, tanMedium: TanGeneratorTanMedium): EnterTanGeneratorAtcResult
|
suspend fun enterTanGeneratorAtc(bank: BankData, tanMedium: TanGeneratorTanMedium): EnterTanGeneratorAtcResult
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets fired when a FinTS message get sent to bank server, a FinTS message is received from bank server or an error occurred.
|
||||||
|
*
|
||||||
|
* Be aware, in order that this message gets fired [net.codinux.banking.fints.config.FinTsClientOptions.fireCallbackOnMessageLogs] has to be set to true.
|
||||||
|
*/
|
||||||
|
fun messageLogAdded(messageLogEntry: MessageLogEntry)
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
package net.dankito.banking.fints.callback
|
package net.codinux.banking.fints.callback
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.datenelemente.implementierte.tan.TanGeneratorTanMedium
|
import net.codinux.banking.fints.messages.datenelemente.implementierte.tan.TanGeneratorTanMedium
|
||||||
import net.dankito.banking.fints.model.*
|
import net.codinux.banking.fints.model.*
|
||||||
|
|
||||||
|
|
||||||
open class NoOpFinTsClientCallback : FinTsClientCallback {
|
open class NoOpFinTsClientCallback : FinTsClientCallback {
|
||||||
|
@ -18,4 +18,8 @@ open class NoOpFinTsClientCallback : FinTsClientCallback {
|
||||||
return EnterTanGeneratorAtcResult.userDidNotEnterAtc()
|
return EnterTanGeneratorAtcResult.userDidNotEnterAtc()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun messageLogAdded(messageLogEntry: MessageLogEntry) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,18 +1,19 @@
|
||||||
package net.dankito.banking.fints.callback
|
package net.codinux.banking.fints.callback
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.datenelemente.implementierte.tan.TanGeneratorTanMedium
|
import net.codinux.banking.fints.messages.datenelemente.implementierte.tan.TanGeneratorTanMedium
|
||||||
import net.dankito.banking.fints.model.*
|
import net.codinux.banking.fints.model.*
|
||||||
|
|
||||||
|
|
||||||
open class SimpleFinTsClientCallback(
|
open class SimpleFinTsClientCallback(
|
||||||
protected open val enterTan: ((tanChallenge: TanChallenge) -> Unit)? = null,
|
protected open val askUserForTanMethod: ((supportedTanMethods: List<TanMethod>, suggestedTanMethod: TanMethod?) -> TanMethod?)? = null,
|
||||||
|
protected open val messageLogAdded: ((MessageLogEntry) -> Unit)? = null,
|
||||||
protected open val enterTanGeneratorAtc: ((bank: BankData, tanMedium: TanGeneratorTanMedium) -> EnterTanGeneratorAtcResult)? = null,
|
protected open val enterTanGeneratorAtc: ((bank: BankData, tanMedium: TanGeneratorTanMedium) -> EnterTanGeneratorAtcResult)? = null,
|
||||||
protected open val askUserForTanMethod: ((supportedTanMethods: List<TanMethod>, suggestedTanMethod: TanMethod?) -> TanMethod?)? = null
|
protected open val enterTan: ((tanChallenge: TanChallenge) -> Unit)? = null
|
||||||
) : FinTsClientCallback {
|
) : FinTsClientCallback {
|
||||||
|
|
||||||
constructor() : this(null) // Swift does not support default parameter values -> create constructor overloads
|
constructor() : this(null as ((tanChallenge: TanChallenge) -> Unit)?) // Swift does not support default parameter values -> create constructor overloads
|
||||||
|
|
||||||
constructor(enterTan: ((tanChallenge: TanChallenge) -> Unit)?) : this(enterTan, null)
|
constructor(enterTan: ((tanChallenge: TanChallenge) -> Unit)?) : this(null, null, null, enterTan)
|
||||||
|
|
||||||
|
|
||||||
override suspend fun askUserForTanMethod(supportedTanMethods: List<TanMethod>, suggestedTanMethod: TanMethod?): TanMethod? {
|
override suspend fun askUserForTanMethod(supportedTanMethods: List<TanMethod>, suggestedTanMethod: TanMethod?): TanMethod? {
|
||||||
|
@ -28,4 +29,8 @@ open class SimpleFinTsClientCallback(
|
||||||
return enterTanGeneratorAtc?.invoke(bank, tanMedium) ?: EnterTanGeneratorAtcResult.userDidNotEnterAtc()
|
return enterTanGeneratorAtc?.invoke(bank, tanMedium) ?: EnterTanGeneratorAtcResult.userDidNotEnterAtc()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun messageLogAdded(messageLogEntry: MessageLogEntry) {
|
||||||
|
messageLogAdded?.invoke(messageLogEntry)
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,15 +1,15 @@
|
||||||
package net.dankito.banking.fints.config
|
package net.codinux.banking.fints.config
|
||||||
|
|
||||||
import net.dankito.banking.fints.FinTsJobExecutor
|
import net.codinux.banking.fints.FinTsJobExecutor
|
||||||
import net.dankito.banking.fints.RequestExecutor
|
import net.codinux.banking.fints.RequestExecutor
|
||||||
import net.dankito.banking.fints.messages.MessageBuilder
|
import net.codinux.banking.fints.messages.MessageBuilder
|
||||||
import net.dankito.banking.fints.model.mapper.ModelMapper
|
import net.codinux.banking.fints.model.mapper.ModelMapper
|
||||||
import net.dankito.banking.fints.util.FinTsServerAddressFinder
|
import net.codinux.banking.fints.util.FinTsServerAddressFinder
|
||||||
import net.dankito.banking.fints.util.IBase64Service
|
import net.codinux.banking.fints.util.IBase64Service
|
||||||
import net.dankito.banking.fints.util.PureKotlinBase64Service
|
import net.codinux.banking.fints.util.PureKotlinBase64Service
|
||||||
import net.dankito.banking.fints.util.TanMethodSelector
|
import net.codinux.banking.fints.util.TanMethodSelector
|
||||||
import net.dankito.banking.fints.webclient.IWebClient
|
import net.codinux.banking.fints.webclient.IWebClient
|
||||||
import net.dankito.banking.fints.webclient.KtorWebClient
|
import net.codinux.banking.fints.webclient.KtorWebClient
|
||||||
|
|
||||||
class FinTsClientConfiguration(
|
class FinTsClientConfiguration(
|
||||||
var options: FinTsClientOptions = FinTsClientOptions(),
|
var options: FinTsClientOptions = FinTsClientOptions(),
|
|
@ -0,0 +1,35 @@
|
||||||
|
package net.codinux.banking.fints.config
|
||||||
|
|
||||||
|
import net.codinux.banking.fints.model.ProductData
|
||||||
|
|
||||||
|
data class FinTsClientOptions(
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If FinTS messages sent to and received from bank servers and errors should be collected. They are then accessible
|
||||||
|
* via [net.codinux.banking.fints.response.client.FinTsClientResponse.messageLog].
|
||||||
|
*
|
||||||
|
* Set to false by default.
|
||||||
|
*/
|
||||||
|
val collectMessageLog: Boolean = false,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If set to true then [net.codinux.banking.fints.callback.FinTsClientCallback.messageLogAdded] get fired when a
|
||||||
|
* FinTS message get sent to bank server, a FinTS message is received from bank server or an error occurred.
|
||||||
|
*
|
||||||
|
* Defaults to false.
|
||||||
|
*/
|
||||||
|
val fireCallbackOnMessageLogs: Boolean = false,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If sensitive data like user name, password, login name should be removed from FinTS messages before being logged.
|
||||||
|
*
|
||||||
|
* Defaults to true.
|
||||||
|
*/
|
||||||
|
val removeSensitiveDataFromMessageLog: Boolean = true,
|
||||||
|
val version: String = "1.0.0", // TODO: get version dynamically
|
||||||
|
val productName: String = "15E53C26816138699C7B6A3E8"
|
||||||
|
) {
|
||||||
|
|
||||||
|
val product: ProductData by lazy { ProductData(productName, version) }
|
||||||
|
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
package net.dankito.banking.fints.extensions
|
package net.codinux.banking.fints.extensions
|
||||||
|
|
||||||
import kotlinx.datetime.*
|
import kotlinx.datetime.*
|
||||||
import kotlin.js.JsName
|
import kotlin.js.JsName
|
|
@ -1,4 +1,4 @@
|
||||||
package net.dankito.banking.fints.extensions
|
package net.codinux.banking.fints.extensions
|
||||||
|
|
||||||
import kotlinx.datetime.*
|
import kotlinx.datetime.*
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package net.dankito.banking.fints.extensions
|
package net.codinux.banking.fints.extensions
|
||||||
|
|
||||||
|
|
||||||
fun Int.toStringWithMinDigits(minimumCountDigits: Int, fillerString: Char = '0'): String {
|
fun Int.toStringWithMinDigits(minimumCountDigits: Int, fillerString: Char = '0'): String {
|
|
@ -1,4 +1,4 @@
|
||||||
package net.dankito.banking.fints.extensions
|
package net.codinux.banking.fints.extensions
|
||||||
|
|
||||||
import kotlinx.datetime.Clock
|
import kotlinx.datetime.Clock
|
||||||
import kotlin.random.Random
|
import kotlin.random.Random
|
|
@ -1,4 +1,4 @@
|
||||||
package net.dankito.banking.fints.extensions
|
package net.codinux.banking.fints.extensions
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,4 +1,4 @@
|
||||||
package net.dankito.banking.fints.extensions
|
package net.codinux.banking.fints.extensions
|
||||||
|
|
||||||
|
|
||||||
fun Throwable.getAllExceptionMessagesJoined(maxDepth: Int = 5): String {
|
fun Throwable.getAllExceptionMessagesJoined(maxDepth: Int = 5): String {
|
|
@ -1,4 +1,4 @@
|
||||||
package net.dankito.banking.fints.extensions
|
package net.codinux.banking.fints.extensions
|
||||||
|
|
||||||
import kotlinx.datetime.TimeZone
|
import kotlinx.datetime.TimeZone
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package net.dankito.banking.fints.log
|
package net.codinux.banking.fints.log
|
||||||
|
|
||||||
import kotlin.reflect.KClass
|
import kotlin.reflect.KClass
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
package net.codinux.banking.fints.log
|
||||||
|
|
||||||
|
import net.codinux.banking.fints.model.AccountData
|
||||||
|
import net.codinux.banking.fints.model.BankData
|
||||||
|
import net.codinux.banking.fints.model.MessageType
|
||||||
|
import net.codinux.banking.fints.model.JobContextType
|
||||||
|
|
||||||
|
|
||||||
|
class MessageContext(
|
||||||
|
val jobType: JobContextType,
|
||||||
|
val dialogType: MessageType,
|
||||||
|
val jobNumber: Int,
|
||||||
|
val dialogNumber: Int,
|
||||||
|
val messageNumber: Int,
|
||||||
|
val bank: BankData,
|
||||||
|
val account: AccountData?
|
||||||
|
)
|
|
@ -1,19 +1,22 @@
|
||||||
package net.dankito.banking.fints.log
|
package net.codinux.banking.fints.log
|
||||||
|
|
||||||
import net.codinux.log.LoggerFactory
|
import net.codinux.log.LoggerFactory
|
||||||
import net.codinux.log.logger
|
import net.codinux.log.logger
|
||||||
import net.dankito.banking.fints.config.FinTsClientOptions
|
import net.codinux.banking.fints.callback.FinTsClientCallback
|
||||||
import net.dankito.banking.fints.model.BankData
|
import net.codinux.banking.fints.config.FinTsClientOptions
|
||||||
import net.dankito.banking.fints.model.MessageLogEntry
|
import net.codinux.banking.fints.model.BankData
|
||||||
import net.dankito.banking.fints.model.MessageLogEntryType
|
import net.codinux.banking.fints.model.MessageLogEntry
|
||||||
import net.dankito.banking.fints.extensions.getInnerException
|
import net.codinux.banking.fints.model.MessageLogEntryType
|
||||||
import net.dankito.banking.fints.extensions.nthIndexOf
|
import net.codinux.banking.fints.extensions.getInnerException
|
||||||
import net.dankito.banking.fints.extensions.toStringWithMinDigits
|
import net.codinux.banking.fints.extensions.nthIndexOf
|
||||||
import net.dankito.banking.fints.util.FinTsUtils
|
import net.codinux.banking.fints.extensions.toStringWithMinDigits
|
||||||
|
import net.codinux.banking.fints.response.segments.ReceivedSegment
|
||||||
|
import net.codinux.banking.fints.util.FinTsUtils
|
||||||
import kotlin.reflect.KClass
|
import kotlin.reflect.KClass
|
||||||
|
|
||||||
|
|
||||||
open class MessageLogCollector(
|
open class MessageLogCollector(
|
||||||
|
private val callback: FinTsClientCallback,
|
||||||
private val options: FinTsClientOptions = FinTsClientOptions(),
|
private val options: FinTsClientOptions = FinTsClientOptions(),
|
||||||
private val finTsUtils: FinTsUtils = FinTsUtils()
|
private val finTsUtils: FinTsUtils = FinTsUtils()
|
||||||
) {
|
) {
|
||||||
|
@ -35,13 +38,13 @@ open class MessageLogCollector(
|
||||||
// in either case remove sensitive data after response is parsed as otherwise some information like account holder name and accounts may is not set yet on BankData
|
// in either case remove sensitive data after response is parsed as otherwise some information like account holder name and accounts may is not set yet on BankData
|
||||||
open val messageLog: List<MessageLogEntry>
|
open val messageLog: List<MessageLogEntry>
|
||||||
// safe CPU cycles by only formatting and removing sensitive data if messageLog is really requested
|
// safe CPU cycles by only formatting and removing sensitive data if messageLog is really requested
|
||||||
get() = _messageLog.map { MessageLogEntry(it.type, it.context, it.messageTrace, createMessageForLog(it), it.error, it.time) }
|
get() = _messageLog.map { MessageLogEntry(it.type, it.context, it.messageTrace, createMessageForLog(it), it.error, it.parsedSegments, it.time) }
|
||||||
|
|
||||||
private fun createMessageForLog(logEntry: MessageLogEntry): String {
|
private fun createMessageForLog(logEntry: MessageLogEntry): String {
|
||||||
val message = if (logEntry.type == MessageLogEntryType.Error) {
|
val message = if (logEntry.type == MessageLogEntryType.Error) {
|
||||||
logEntry.messageTrace + logEntry.message + (if (logEntry.error != null) NewLine + getStackTrace(logEntry.error!!) else "")
|
logEntry.message + (if (logEntry.error != null) NewLine + getStackTrace(logEntry.error!!) else "")
|
||||||
} else {
|
} else {
|
||||||
logEntry.messageTrace + "\n" + prettyPrintFinTsMessage(logEntry.message)
|
logEntry.message
|
||||||
}
|
}
|
||||||
|
|
||||||
return if (options.removeSensitiveDataFromMessageLog) {
|
return if (options.removeSensitiveDataFromMessageLog) {
|
||||||
|
@ -52,25 +55,41 @@ open class MessageLogCollector(
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
open fun addMessageLog(type: MessageLogEntryType, message: String, context: MessageContext) {
|
open fun addMessageLog(type: MessageLogEntryType, message: String, context: MessageContext, parsedSegments: List<ReceivedSegment> = emptyList()) {
|
||||||
val messageTrace = createMessageTraceString(type, context)
|
val messageTrace = createMessageTraceString(type, context)
|
||||||
|
|
||||||
addMessageLogEntry(type, context, messageTrace, message)
|
val prettyPrintMessage = if (options.collectMessageLog || options.fireCallbackOnMessageLogs || log.isDebugEnabled) { // only use CPU cycles if message will ever be used / displayed
|
||||||
|
prettyPrintFinTsMessage(message)
|
||||||
|
} else {
|
||||||
|
message
|
||||||
|
}
|
||||||
|
|
||||||
log.debug { "$messageTrace\n${prettyPrintFinTsMessage(message)}" }
|
log.debug { "$messageTrace\n$prettyPrintMessage" }
|
||||||
|
|
||||||
|
addMessageLogEntry(type, context, messageTrace, prettyPrintMessage, null, parsedSegments)
|
||||||
}
|
}
|
||||||
|
|
||||||
open fun logError(loggingClass: KClass<*>, message: String, context: MessageContext, e: Exception? = null) {
|
open fun logError(loggingClass: KClass<*>, message: String, context: MessageContext, e: Exception? = null) {
|
||||||
val type = MessageLogEntryType.Error
|
val type = MessageLogEntryType.Error
|
||||||
val messageTrace = createMessageTraceString(type, context)
|
val messageTrace = createMessageTraceString(type, context)
|
||||||
|
|
||||||
LoggerFactory.getLogger(loggingClass).error(e) { messageTrace + messageTrace }
|
LoggerFactory.getLogger(loggingClass).error(e) { messageTrace + message }
|
||||||
|
|
||||||
addMessageLogEntry(type, context, messageTrace, message, e)
|
addMessageLogEntry(type, context, messageTrace, message, e)
|
||||||
}
|
}
|
||||||
|
|
||||||
protected open fun addMessageLogEntry(type: MessageLogEntryType, context: MessageContext, messageTrace: String, message: String, error: Throwable? = null) {
|
protected open fun addMessageLogEntry(type: MessageLogEntryType, context: MessageContext, messageTrace: String, message: String, error: Throwable? = null, parsedSegments: List<ReceivedSegment> = emptyList()) {
|
||||||
_messageLog.add(MessageLogEntry(type, context, messageTrace, message, error))
|
if (options.collectMessageLog || options.fireCallbackOnMessageLogs) {
|
||||||
|
val newEntry = MessageLogEntry(type, context, messageTrace, message, error, parsedSegments)
|
||||||
|
|
||||||
|
if (options.collectMessageLog) {
|
||||||
|
_messageLog.add(newEntry)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (options.fireCallbackOnMessageLogs) {
|
||||||
|
callback.messageLogAdded(newEntry)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -88,9 +107,9 @@ open class MessageLogCollector(
|
||||||
|
|
||||||
protected open fun getMessageTypeString(type: MessageLogEntryType): String {
|
protected open fun getMessageTypeString(type: MessageLogEntryType): String {
|
||||||
return when (type) {
|
return when (type) {
|
||||||
MessageLogEntryType.Sent -> "Sending message"
|
MessageLogEntryType.Sent -> "01 Sending message"
|
||||||
MessageLogEntryType.Received -> "Received message"
|
MessageLogEntryType.Received -> "02 Received message"
|
||||||
MessageLogEntryType.Error -> "Error"
|
MessageLogEntryType.Error -> "03 Error"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package net.dankito.banking.fints.mapper
|
package net.codinux.banking.fints.mapper
|
||||||
|
|
||||||
import kotlinx.datetime.LocalDate
|
import kotlinx.datetime.LocalDate
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package net.dankito.banking.fints.mapper
|
package net.codinux.banking.fints.mapper
|
||||||
|
|
||||||
import kotlinx.datetime.LocalDate
|
import kotlinx.datetime.LocalDate
|
||||||
import net.dankito.banking.client.model.*
|
import net.dankito.banking.client.model.*
|
||||||
|
@ -7,14 +7,14 @@ import net.dankito.banking.client.model.parameter.FinTsClientParameter
|
||||||
import net.dankito.banking.client.model.parameter.GetAccountDataParameter
|
import net.dankito.banking.client.model.parameter.GetAccountDataParameter
|
||||||
import net.dankito.banking.client.model.parameter.RetrieveTransactions
|
import net.dankito.banking.client.model.parameter.RetrieveTransactions
|
||||||
import net.dankito.banking.client.model.response.ErrorCode
|
import net.dankito.banking.client.model.response.ErrorCode
|
||||||
import net.dankito.banking.fints.messages.datenelemente.abgeleiteteformate.Laenderkennzeichen
|
import net.codinux.banking.fints.messages.datenelemente.abgeleiteteformate.Laenderkennzeichen
|
||||||
import net.dankito.banking.fints.model.*
|
import net.codinux.banking.fints.model.*
|
||||||
import net.dankito.banking.fints.response.client.FinTsClientResponse
|
import net.codinux.banking.fints.response.client.FinTsClientResponse
|
||||||
import net.dankito.banking.fints.response.client.GetAccountTransactionsResponse
|
import net.codinux.banking.fints.response.client.GetAccountTransactionsResponse
|
||||||
import net.dankito.banking.fints.response.segments.AccountType
|
import net.codinux.banking.fints.response.segments.AccountType
|
||||||
import net.dankito.banking.fints.util.BicFinder
|
import net.codinux.banking.fints.util.BicFinder
|
||||||
import net.dankito.banking.fints.extensions.minusDays
|
import net.codinux.banking.fints.extensions.minusDays
|
||||||
import net.dankito.banking.fints.extensions.todayAtEuropeBerlin
|
import net.codinux.banking.fints.extensions.todayAtEuropeBerlin
|
||||||
|
|
||||||
|
|
||||||
open class FinTsModelMapper {
|
open class FinTsModelMapper {
|
||||||
|
@ -90,7 +90,7 @@ open class FinTsModelMapper {
|
||||||
return data.bookedTransactions.map { map(it) }
|
return data.bookedTransactions.map { map(it) }
|
||||||
}
|
}
|
||||||
|
|
||||||
open fun map(transaction: net.dankito.banking.fints.model.AccountTransaction): AccountTransaction {
|
open fun map(transaction: net.codinux.banking.fints.model.AccountTransaction): AccountTransaction {
|
||||||
return AccountTransaction(transaction.amount, transaction.unparsedReference, transaction.bookingDate,
|
return AccountTransaction(transaction.amount, transaction.unparsedReference, transaction.bookingDate,
|
||||||
transaction.otherPartyName, transaction.otherPartyBankCode, transaction.otherPartyAccountId, transaction.bookingText, transaction.valueDate,
|
transaction.otherPartyName, transaction.otherPartyBankCode, transaction.otherPartyAccountId, transaction.bookingText, transaction.valueDate,
|
||||||
transaction.statementNumber, transaction.sequenceNumber, transaction.openingBalance, transaction.closingBalance,
|
transaction.statementNumber, transaction.sequenceNumber, transaction.openingBalance, transaction.closingBalance,
|
|
@ -1,4 +1,4 @@
|
||||||
package net.dankito.banking.fints.messages
|
package net.codinux.banking.fints.messages
|
||||||
|
|
||||||
|
|
||||||
enum class Existenzstatus {
|
enum class Existenzstatus {
|
|
@ -1,4 +1,4 @@
|
||||||
package net.dankito.banking.fints.messages
|
package net.codinux.banking.fints.messages
|
||||||
|
|
||||||
import io.ktor.utils.io.charsets.Charsets
|
import io.ktor.utils.io.charsets.Charsets
|
||||||
|
|
|
@ -1,26 +1,26 @@
|
||||||
package net.dankito.banking.fints.messages
|
package net.codinux.banking.fints.messages
|
||||||
|
|
||||||
import net.dankito.banking.fints.extensions.randomWithSeed
|
import net.codinux.banking.fints.extensions.randomWithSeed
|
||||||
import net.dankito.banking.fints.messages.datenelemente.implementierte.Aufsetzpunkt
|
import net.codinux.banking.fints.messages.datenelemente.implementierte.Aufsetzpunkt
|
||||||
import net.dankito.banking.fints.messages.datenelemente.implementierte.KundensystemID
|
import net.codinux.banking.fints.messages.datenelemente.implementierte.KundensystemID
|
||||||
import net.dankito.banking.fints.messages.datenelemente.implementierte.Synchronisierungsmodus
|
import net.codinux.banking.fints.messages.datenelemente.implementierte.Synchronisierungsmodus
|
||||||
import net.dankito.banking.fints.messages.datenelemente.implementierte.tan.TanGeneratorTanMedium
|
import net.codinux.banking.fints.messages.datenelemente.implementierte.tan.TanGeneratorTanMedium
|
||||||
import net.dankito.banking.fints.messages.datenelemente.implementierte.tan.TanMedienArtVersion
|
import net.codinux.banking.fints.messages.datenelemente.implementierte.tan.TanMedienArtVersion
|
||||||
import net.dankito.banking.fints.messages.datenelemente.implementierte.tan.TanMediumKlasse
|
import net.codinux.banking.fints.messages.datenelemente.implementierte.tan.TanMediumKlasse
|
||||||
import net.dankito.banking.fints.messages.datenelemente.implementierte.tan.TanProcess
|
import net.codinux.banking.fints.messages.datenelemente.implementierte.tan.TanProcess
|
||||||
import net.dankito.banking.fints.messages.segmente.Segment
|
import net.codinux.banking.fints.messages.segmente.Segment
|
||||||
import net.dankito.banking.fints.messages.segmente.Synchronisierung
|
import net.codinux.banking.fints.messages.segmente.Synchronisierung
|
||||||
import net.dankito.banking.fints.messages.segmente.id.CustomerSegmentId
|
import net.codinux.banking.fints.messages.segmente.id.CustomerSegmentId
|
||||||
import net.dankito.banking.fints.messages.segmente.id.ISegmentId
|
import net.codinux.banking.fints.messages.segmente.id.ISegmentId
|
||||||
import net.dankito.banking.fints.messages.segmente.implementierte.*
|
import net.codinux.banking.fints.messages.segmente.implementierte.*
|
||||||
import net.dankito.banking.fints.messages.segmente.implementierte.sepa.SepaBankTransferBase
|
import net.codinux.banking.fints.messages.segmente.implementierte.sepa.SepaBankTransferBase
|
||||||
import net.dankito.banking.fints.messages.segmente.implementierte.tan.TanGeneratorListeAnzeigen
|
import net.codinux.banking.fints.messages.segmente.implementierte.tan.TanGeneratorListeAnzeigen
|
||||||
import net.dankito.banking.fints.messages.segmente.implementierte.tan.TanGeneratorTanMediumAnOderUmmelden
|
import net.codinux.banking.fints.messages.segmente.implementierte.tan.TanGeneratorTanMediumAnOderUmmelden
|
||||||
import net.dankito.banking.fints.messages.segmente.implementierte.umsaetze.*
|
import net.codinux.banking.fints.messages.segmente.implementierte.umsaetze.*
|
||||||
import net.dankito.banking.fints.model.*
|
import net.codinux.banking.fints.model.*
|
||||||
import net.dankito.banking.fints.response.InstituteSegmentId
|
import net.codinux.banking.fints.response.InstituteSegmentId
|
||||||
import net.dankito.banking.fints.response.segments.*
|
import net.codinux.banking.fints.response.segments.*
|
||||||
import net.dankito.banking.fints.util.FinTsUtils
|
import net.codinux.banking.fints.util.FinTsUtils
|
||||||
import kotlin.math.absoluteValue
|
import kotlin.math.absoluteValue
|
||||||
|
|
||||||
|
|
||||||
|
@ -133,7 +133,7 @@ open class MessageBuilder(protected val utils: FinTsUtils = FinTsUtils()) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (context.bank.customerSystemId == KundensystemID.Anonymous) {
|
if (context.bank.customerSystemId == KundensystemID.Anonymous) {
|
||||||
segments.add(Synchronisierung(segments.size + 3, Synchronisierungsmodus.NeueKundensystemIdZurueckmelden))
|
segments.add(Synchronisierung(SignedMessagePayloadFirstSegmentNumber + segments.size, Synchronisierungsmodus.NeueKundensystemIdZurueckmelden))
|
||||||
}
|
}
|
||||||
|
|
||||||
return createSignedMessageBuilderResult(context, MessageType.DialogInit, segments)
|
return createSignedMessageBuilderResult(context, MessageType.DialogInit, segments)
|
||||||
|
@ -394,7 +394,7 @@ open class MessageBuilder(protected val utils: FinTsUtils = FinTsUtils()) {
|
||||||
return createSignedMessage(context, null, payloadSegments)
|
return createSignedMessage(context, null, payloadSegments)
|
||||||
}
|
}
|
||||||
|
|
||||||
open fun createSignedMessage(context: JobContext, tan: String? = null, payloadSegments: List<Segment>): String {
|
protected open fun createSignedMessage(context: JobContext, tan: String? = null, payloadSegments: List<Segment>): String {
|
||||||
|
|
||||||
val date = utils.formatDateTodayAsInt()
|
val date = utils.formatDateTodayAsInt()
|
||||||
val time = utils.formatTimeNowAsInt()
|
val time = utils.formatTimeNowAsInt()
|
||||||
|
@ -406,7 +406,7 @@ open class MessageBuilder(protected val utils: FinTsUtils = FinTsUtils()) {
|
||||||
return createMessage(context, encryptedPayload, payloadSegments.size)
|
return createMessage(context, encryptedPayload, payloadSegments.size)
|
||||||
}
|
}
|
||||||
|
|
||||||
open fun createMessage(context: JobContext, payloadSegments: List<Segment>, countWrappedSegments: Int = 0): String {
|
protected open fun createMessage(context: JobContext, payloadSegments: List<Segment>, countWrappedSegments: Int = 0): String {
|
||||||
|
|
||||||
val dialog = context.dialog
|
val dialog = context.dialog
|
||||||
dialog.increaseMessageNumber()
|
dialog.increaseMessageNumber()
|
||||||
|
@ -536,8 +536,7 @@ open class MessageBuilder(protected val utils: FinTsUtils = FinTsUtils()) {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected open fun isTanRequiredForJob(context: JobContext, segmentId: CustomerSegmentId): Boolean {
|
protected open fun isTanRequiredForJob(context: JobContext, segmentId: CustomerSegmentId): Boolean {
|
||||||
return context.bank.pinInfo?.jobTanConfiguration?.first { it.segmentId == segmentId.id }?.tanRequired
|
return context.bank.doesJobRequireTan(segmentId)
|
||||||
?: false // TODO: actually in this case it's not allowed to execute job via PIN/TAN at all
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected open fun getSepaUrnFor(segmentId: CustomerSegmentId, bank: BankData, sepaDataFormat: String): String? {
|
protected open fun getSepaUrnFor(segmentId: CustomerSegmentId, bank: BankData, sepaDataFormat: String): String? {
|
|
@ -1,7 +1,7 @@
|
||||||
package net.dankito.banking.fints.messages
|
package net.codinux.banking.fints.messages
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.segmente.Segment
|
import net.codinux.banking.fints.messages.segmente.Segment
|
||||||
import net.dankito.banking.fints.messages.segmente.implementierte.ZweiSchrittTanEinreichung
|
import net.codinux.banking.fints.messages.segmente.implementierte.ZweiSchrittTanEinreichung
|
||||||
|
|
||||||
|
|
||||||
open class MessageBuilderResult(
|
open class MessageBuilderResult(
|
|
@ -1,6 +1,6 @@
|
||||||
package net.dankito.banking.fints.messages
|
package net.codinux.banking.fints.messages
|
||||||
|
|
||||||
import net.dankito.banking.fints.util.MessageUtils
|
import net.codinux.banking.fints.util.MessageUtils
|
||||||
|
|
||||||
|
|
||||||
abstract class Nachrichtenteil(protected val messageUtils: MessageUtils = MessageUtils()) {
|
abstract class Nachrichtenteil(protected val messageUtils: MessageUtils = MessageUtils()) {
|
|
@ -1,4 +1,4 @@
|
||||||
package net.dankito.banking.fints.messages
|
package net.codinux.banking.fints.messages
|
||||||
|
|
||||||
|
|
||||||
class Separators {
|
class Separators {
|
|
@ -1,6 +1,6 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente
|
package net.codinux.banking.fints.messages.datenelemente
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
|
|
||||||
|
|
||||||
abstract class Datenelement(existenzstatus: Existenzstatus): DatenelementBase(existenzstatus) {
|
abstract class Datenelement(existenzstatus: Existenzstatus): DatenelementBase(existenzstatus) {
|
|
@ -0,0 +1,7 @@
|
||||||
|
package net.codinux.banking.fints.messages.datenelemente
|
||||||
|
|
||||||
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
|
import net.codinux.banking.fints.messages.Nachrichtenteil
|
||||||
|
|
||||||
|
|
||||||
|
abstract class DatenelementBase(val existenzstatus: Existenzstatus) : Nachrichtenteil()
|
|
@ -1,8 +1,8 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.abgeleiteteformate
|
package net.codinux.banking.fints.messages.datenelemente.abgeleiteteformate
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
import net.dankito.banking.fints.messages.datenelemente.basisformate.AlphanumerischesDatenelement
|
import net.codinux.banking.fints.messages.datenelemente.basisformate.AlphanumerischesDatenelement
|
||||||
import net.dankito.banking.fints.messages.datenelemente.implementierte.ICodeEnum
|
import net.codinux.banking.fints.messages.datenelemente.implementierte.ICodeEnum
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,10 +1,10 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.abgeleiteteformate
|
package net.codinux.banking.fints.messages.datenelemente.abgeleiteteformate
|
||||||
|
|
||||||
import kotlinx.datetime.LocalDate
|
import kotlinx.datetime.LocalDate
|
||||||
import net.codinux.log.logger
|
import net.codinux.log.logger
|
||||||
import net.dankito.banking.fints.extensions.toStringWithMinDigits
|
import net.codinux.banking.fints.extensions.toStringWithMinDigits
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
import net.dankito.banking.fints.messages.datenelemente.basisformate.NumerischesDatenelement
|
import net.codinux.banking.fints.messages.datenelemente.basisformate.NumerischesDatenelement
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,7 +1,7 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.abgeleiteteformate
|
package net.codinux.banking.fints.messages.datenelemente.abgeleiteteformate
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
import net.dankito.banking.fints.messages.datenelemente.basisformate.AlphanumerischesDatenelement
|
import net.codinux.banking.fints.messages.datenelemente.basisformate.AlphanumerischesDatenelement
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,7 +1,7 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.abgeleiteteformate
|
package net.codinux.banking.fints.messages.datenelemente.abgeleiteteformate
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
import net.dankito.banking.fints.messages.datenelemente.basisformate.AlphanumerischesDatenelement
|
import net.codinux.banking.fints.messages.datenelemente.basisformate.AlphanumerischesDatenelement
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,7 +1,7 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.abgeleiteteformate
|
package net.codinux.banking.fints.messages.datenelemente.abgeleiteteformate
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
import net.dankito.banking.fints.messages.datenelemente.basisformate.ZiffernDatenelement
|
import net.codinux.banking.fints.messages.datenelemente.basisformate.ZiffernDatenelement
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,10 +1,10 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.abgeleiteteformate
|
package net.codinux.banking.fints.messages.datenelemente.abgeleiteteformate
|
||||||
|
|
||||||
import kotlinx.datetime.LocalTime
|
import kotlinx.datetime.LocalTime
|
||||||
import net.codinux.log.logger
|
import net.codinux.log.logger
|
||||||
import net.dankito.banking.fints.extensions.toStringWithMinDigits
|
import net.codinux.banking.fints.extensions.toStringWithMinDigits
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
import net.dankito.banking.fints.messages.datenelemente.basisformate.ZiffernDatenelement
|
import net.codinux.banking.fints.messages.datenelemente.basisformate.ZiffernDatenelement
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,6 +1,6 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.basisformate
|
package net.codinux.banking.fints.messages.datenelemente.basisformate
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,6 +1,6 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.basisformate
|
package net.codinux.banking.fints.messages.datenelemente.basisformate
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,6 +1,6 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.basisformate
|
package net.codinux.banking.fints.messages.datenelemente.basisformate
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,11 +1,11 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.basisformate
|
package net.codinux.banking.fints.messages.datenelemente.basisformate
|
||||||
|
|
||||||
import io.ktor.utils.io.charsets.encode
|
import io.ktor.utils.io.charsets.encode
|
||||||
import io.ktor.utils.io.charsets.name
|
import io.ktor.utils.io.charsets.name
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
import net.dankito.banking.fints.messages.HbciCharset
|
import net.codinux.banking.fints.messages.HbciCharset
|
||||||
import net.dankito.banking.fints.messages.Separators
|
import net.codinux.banking.fints.messages.Separators
|
||||||
import net.dankito.banking.fints.messages.datenelemente.Datenelement
|
import net.codinux.banking.fints.messages.datenelemente.Datenelement
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,6 +1,6 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.basisformate
|
package net.codinux.banking.fints.messages.datenelemente.basisformate
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,7 +1,7 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.implementierte
|
package net.codinux.banking.fints.messages.datenelemente.implementierte
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
import net.dankito.banking.fints.messages.datenelemente.basisformate.AlphanumerischesDatenelement
|
import net.codinux.banking.fints.messages.datenelemente.basisformate.AlphanumerischesDatenelement
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,7 +1,7 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.implementierte
|
package net.codinux.banking.fints.messages.datenelemente.implementierte
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
import net.dankito.banking.fints.messages.datenelemente.basisformate.NumerischesDatenelement
|
import net.codinux.banking.fints.messages.datenelemente.basisformate.NumerischesDatenelement
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,7 +1,7 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.implementierte
|
package net.codinux.banking.fints.messages.datenelemente.implementierte
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
import net.dankito.banking.fints.messages.datenelemente.abgeleiteteformate.Identifikation
|
import net.codinux.banking.fints.messages.datenelemente.abgeleiteteformate.Identifikation
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,7 +1,7 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.implementierte
|
package net.codinux.banking.fints.messages.datenelemente.implementierte
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
import net.dankito.banking.fints.messages.datenelemente.basisformate.NumerischesDatenelement
|
import net.codinux.banking.fints.messages.datenelemente.basisformate.NumerischesDatenelement
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -0,0 +1,6 @@
|
||||||
|
package net.codinux.banking.fints.messages.datenelemente.implementierte
|
||||||
|
|
||||||
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
|
|
||||||
|
|
||||||
|
open class BezugssegmentInKreditinstitutsnachricht(segmentNumber: Int) : Bezugssegment(segmentNumber, Existenzstatus.Optional)
|
|
@ -0,0 +1,6 @@
|
||||||
|
package net.codinux.banking.fints.messages.datenelemente.implementierte
|
||||||
|
|
||||||
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
|
|
||||||
|
|
||||||
|
open class BezugssegmentInKundennachricht(segmentNumber: Int) : Bezugssegment(segmentNumber, Existenzstatus.NotAllowed)
|
|
@ -1,7 +1,7 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.implementierte
|
package net.codinux.banking.fints.messages.datenelemente.implementierte
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
import net.dankito.banking.fints.messages.datenelemente.abgeleiteteformate.Identifikation
|
import net.codinux.banking.fints.messages.datenelemente.abgeleiteteformate.Identifikation
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -0,0 +1,21 @@
|
||||||
|
package net.codinux.banking.fints.messages.datenelemente.implementierte
|
||||||
|
|
||||||
|
|
||||||
|
enum class Dialogsprache(override val code: String) : ICodeEnum {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Der Kunde darf lediglich ein Sprachkennzeichen einstellen, das im Rahmen
|
||||||
|
* der BPD vom Kreditinstitut an das Kundensystem übermittelt wurde.
|
||||||
|
* Wenn noch keine BPD vorliegen, sollte das Kundenprodukt mit Hilfe eines
|
||||||
|
* anonymen Dialogs die aktuelle BPD des Instituts ermitteln und die Standardsprache des Instituts einstellen, die in den Bankparameterdaten mitgeteilt
|
||||||
|
* wird. Falls die BPD nicht abgerufen werden kann, ist der Wert „0“ einzustellen. Das Kreditinstitut antwortet in diesem Fall in seiner Standardsprache.
|
||||||
|
*/
|
||||||
|
Default("0"),
|
||||||
|
|
||||||
|
German("1"),
|
||||||
|
|
||||||
|
English("2"),
|
||||||
|
|
||||||
|
French("3")
|
||||||
|
|
||||||
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.implementierte
|
package net.codinux.banking.fints.messages.datenelemente.implementierte
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
import net.dankito.banking.fints.messages.datenelemente.abgeleiteteformate.Code
|
import net.codinux.banking.fints.messages.datenelemente.abgeleiteteformate.Code
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,7 +1,7 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.implementierte
|
package net.codinux.banking.fints.messages.datenelemente.implementierte
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
import net.dankito.banking.fints.messages.datenelemente.basisformate.TextDatenelement
|
import net.codinux.banking.fints.messages.datenelemente.basisformate.TextDatenelement
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,4 +1,4 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.implementierte
|
package net.codinux.banking.fints.messages.datenelemente.implementierte
|
||||||
|
|
||||||
|
|
||||||
enum class HbciVersion(val versionNumber: Int, override val code: String) : ICodeEnum {
|
enum class HbciVersion(val versionNumber: Int, override val code: String) : ICodeEnum {
|
|
@ -1,7 +1,7 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.implementierte
|
package net.codinux.banking.fints.messages.datenelemente.implementierte
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
import net.dankito.banking.fints.messages.datenelemente.basisformate.NumerischesDatenelement
|
import net.codinux.banking.fints.messages.datenelemente.basisformate.NumerischesDatenelement
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,4 +1,4 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.implementierte
|
package net.codinux.banking.fints.messages.datenelemente.implementierte
|
||||||
|
|
||||||
|
|
||||||
inline fun <reified T : Enum<T>> allCodes(): List<String> {
|
inline fun <reified T : Enum<T>> allCodes(): List<String> {
|
|
@ -1,7 +1,7 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.implementierte
|
package net.codinux.banking.fints.messages.datenelemente.implementierte
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
import net.dankito.banking.fints.messages.datenelemente.basisformate.AlphanumerischesDatenelement
|
import net.codinux.banking.fints.messages.datenelemente.basisformate.AlphanumerischesDatenelement
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,7 +1,7 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.implementierte
|
package net.codinux.banking.fints.messages.datenelemente.implementierte
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
import net.dankito.banking.fints.messages.datenelemente.abgeleiteteformate.Identifikation
|
import net.codinux.banking.fints.messages.datenelemente.abgeleiteteformate.Identifikation
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,7 +1,7 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.implementierte
|
package net.codinux.banking.fints.messages.datenelemente.implementierte
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
import net.dankito.banking.fints.messages.datenelemente.abgeleiteteformate.Identifikation
|
import net.codinux.banking.fints.messages.datenelemente.abgeleiteteformate.Identifikation
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,7 +1,7 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.implementierte
|
package net.codinux.banking.fints.messages.datenelemente.implementierte
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
import net.dankito.banking.fints.messages.datenelemente.abgeleiteteformate.Code
|
import net.codinux.banking.fints.messages.datenelemente.abgeleiteteformate.Code
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -0,0 +1,21 @@
|
||||||
|
package net.codinux.banking.fints.messages.datenelemente.implementierte
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Information darüber, ob die Kundensystem-ID erforderlich ist.
|
||||||
|
*/
|
||||||
|
enum class KundensystemStatusWerte(override val code: String) : ICodeEnum {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Kundensystem-ID wird nicht benötigt (HBCI DDV-Verfahren und
|
||||||
|
* chipkartenbasierte Verfahren ab Sicherheitsprofil-Version 3)
|
||||||
|
* und PinTan bis über HKSYN eine Kundensystem-ID vom Bankserver abgerufen wurde.
|
||||||
|
*/
|
||||||
|
NichtBenoetigt("0"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Kundensystem-ID wird benötigt (sonstige HBCI RAH- /
|
||||||
|
* RDH- und PIN/TAN-Verfahren)
|
||||||
|
*/
|
||||||
|
Benoetigt("1")
|
||||||
|
|
||||||
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.implementierte
|
package net.codinux.banking.fints.messages.datenelemente.implementierte
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
import net.dankito.banking.fints.messages.datenelemente.basisformate.ZiffernDatenelement
|
import net.codinux.banking.fints.messages.datenelemente.basisformate.ZiffernDatenelement
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,7 +1,7 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.implementierte
|
package net.codinux.banking.fints.messages.datenelemente.implementierte
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
import net.dankito.banking.fints.messages.datenelemente.basisformate.NumerischesDatenelement
|
import net.codinux.banking.fints.messages.datenelemente.basisformate.NumerischesDatenelement
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -0,0 +1,7 @@
|
||||||
|
package net.codinux.banking.fints.messages.datenelemente.implementierte
|
||||||
|
|
||||||
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
|
import net.codinux.banking.fints.messages.datenelemente.basisformate.TextDatenelement
|
||||||
|
|
||||||
|
|
||||||
|
open class NotAllowedDatenelement : TextDatenelement("", Existenzstatus.NotAllowed)
|
|
@ -1,7 +1,7 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.implementierte
|
package net.codinux.banking.fints.messages.datenelemente.implementierte
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
import net.dankito.banking.fints.messages.datenelemente.basisformate.AlphanumerischesDatenelement
|
import net.codinux.banking.fints.messages.datenelemente.basisformate.AlphanumerischesDatenelement
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,7 +1,7 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.implementierte
|
package net.codinux.banking.fints.messages.datenelemente.implementierte
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
import net.dankito.banking.fints.messages.datenelemente.basisformate.AlphanumerischesDatenelement
|
import net.codinux.banking.fints.messages.datenelemente.basisformate.AlphanumerischesDatenelement
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,7 +1,7 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.implementierte
|
package net.codinux.banking.fints.messages.datenelemente.implementierte
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
import net.dankito.banking.fints.messages.datenelemente.basisformate.AlphanumerischesDatenelement
|
import net.codinux.banking.fints.messages.datenelemente.basisformate.AlphanumerischesDatenelement
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,7 +1,7 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.implementierte
|
package net.codinux.banking.fints.messages.datenelemente.implementierte
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
import net.dankito.banking.fints.messages.datenelemente.basisformate.NumerischesDatenelement
|
import net.codinux.banking.fints.messages.datenelemente.basisformate.NumerischesDatenelement
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,7 +1,7 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.implementierte
|
package net.codinux.banking.fints.messages.datenelemente.implementierte
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
import net.dankito.banking.fints.messages.datenelemente.basisformate.NumerischesDatenelement
|
import net.codinux.banking.fints.messages.datenelemente.basisformate.NumerischesDatenelement
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,4 +1,4 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.implementierte
|
package net.codinux.banking.fints.messages.datenelemente.implementierte
|
||||||
|
|
||||||
|
|
||||||
enum class Synchronisierungsmodus(override val code: String) : ICodeEnum {
|
enum class Synchronisierungsmodus(override val code: String) : ICodeEnum {
|
|
@ -1,7 +1,7 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.implementierte
|
package net.codinux.banking.fints.messages.datenelemente.implementierte
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
import net.dankito.banking.fints.messages.datenelemente.abgeleiteteformate.Code
|
import net.codinux.banking.fints.messages.datenelemente.abgeleiteteformate.Code
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,7 +1,7 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.implementierte
|
package net.codinux.banking.fints.messages.datenelemente.implementierte
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
import net.dankito.banking.fints.messages.datenelemente.basisformate.NumerischesDatenelement
|
import net.codinux.banking.fints.messages.datenelemente.basisformate.NumerischesDatenelement
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,7 +1,7 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.implementierte.account
|
package net.codinux.banking.fints.messages.datenelemente.implementierte.account
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
import net.dankito.banking.fints.messages.datenelemente.abgeleiteteformate.JaNein
|
import net.codinux.banking.fints.messages.datenelemente.abgeleiteteformate.JaNein
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -0,0 +1,7 @@
|
||||||
|
package net.codinux.banking.fints.messages.datenelemente.implementierte.account
|
||||||
|
|
||||||
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
|
import net.codinux.banking.fints.messages.datenelemente.basisformate.AlphanumerischesDatenelement
|
||||||
|
|
||||||
|
|
||||||
|
open class BIC(bic: String, existenzstatus: Existenzstatus) : AlphanumerischesDatenelement(bic, existenzstatus, 11)
|
|
@ -0,0 +1,7 @@
|
||||||
|
package net.codinux.banking.fints.messages.datenelemente.implementierte.account
|
||||||
|
|
||||||
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
|
import net.codinux.banking.fints.messages.datenelemente.basisformate.AlphanumerischesDatenelement
|
||||||
|
|
||||||
|
|
||||||
|
open class IBAN(iban: String, existenzstatus: Existenzstatus) : AlphanumerischesDatenelement(iban, existenzstatus, 34)
|
|
@ -1,7 +1,7 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.implementierte.account
|
package net.codinux.banking.fints.messages.datenelemente.implementierte.account
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
import net.dankito.banking.fints.messages.datenelemente.abgeleiteteformate.Identifikation
|
import net.codinux.banking.fints.messages.datenelemente.abgeleiteteformate.Identifikation
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,8 +1,8 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.implementierte.account
|
package net.codinux.banking.fints.messages.datenelemente.implementierte.account
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
import net.dankito.banking.fints.messages.datenelemente.basisformate.NumerischesDatenelement
|
import net.codinux.banking.fints.messages.datenelemente.basisformate.NumerischesDatenelement
|
||||||
import net.dankito.banking.fints.model.GetAccountTransactionsParameter
|
import net.codinux.banking.fints.model.GetAccountTransactionsParameter
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,7 +1,7 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.implementierte.account
|
package net.codinux.banking.fints.messages.datenelemente.implementierte.account
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
import net.dankito.banking.fints.messages.datenelemente.abgeleiteteformate.Identifikation
|
import net.codinux.banking.fints.messages.datenelemente.abgeleiteteformate.Identifikation
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,6 +1,6 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.implementierte.encryption
|
package net.codinux.banking.fints.messages.datenelemente.implementierte.encryption
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.datenelemente.implementierte.ICodeEnum
|
import net.codinux.banking.fints.messages.datenelemente.implementierte.ICodeEnum
|
||||||
|
|
||||||
|
|
||||||
enum class BezeichnerFuerAlgorithmusparameterIV(override val code: String) : ICodeEnum {
|
enum class BezeichnerFuerAlgorithmusparameterIV(override val code: String) : ICodeEnum {
|
|
@ -1,8 +1,8 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.implementierte.encryption
|
package net.codinux.banking.fints.messages.datenelemente.implementierte.encryption
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
import net.dankito.banking.fints.messages.datenelemente.abgeleiteteformate.Code
|
import net.codinux.banking.fints.messages.datenelemente.abgeleiteteformate.Code
|
||||||
import net.dankito.banking.fints.messages.datenelemente.implementierte.allCodes
|
import net.codinux.banking.fints.messages.datenelemente.implementierte.allCodes
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,6 +1,6 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.implementierte.encryption
|
package net.codinux.banking.fints.messages.datenelemente.implementierte.encryption
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.datenelemente.implementierte.ICodeEnum
|
import net.codinux.banking.fints.messages.datenelemente.implementierte.ICodeEnum
|
||||||
|
|
||||||
|
|
||||||
enum class BezeichnerFuerAlgorithmusparameterSchluessel(override val code: String) : ICodeEnum {
|
enum class BezeichnerFuerAlgorithmusparameterSchluessel(override val code: String) : ICodeEnum {
|
|
@ -1,8 +1,8 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.implementierte.encryption
|
package net.codinux.banking.fints.messages.datenelemente.implementierte.encryption
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
import net.dankito.banking.fints.messages.datenelemente.abgeleiteteformate.Code
|
import net.codinux.banking.fints.messages.datenelemente.abgeleiteteformate.Code
|
||||||
import net.dankito.banking.fints.messages.datenelemente.implementierte.allCodes
|
import net.codinux.banking.fints.messages.datenelemente.implementierte.allCodes
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,6 +1,6 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.implementierte.encryption
|
package net.codinux.banking.fints.messages.datenelemente.implementierte.encryption
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.datenelemente.implementierte.ICodeEnum
|
import net.codinux.banking.fints.messages.datenelemente.implementierte.ICodeEnum
|
||||||
|
|
||||||
|
|
||||||
enum class Komprimierungsfunktion(val abbreviation: String, override val code: String) : ICodeEnum {
|
enum class Komprimierungsfunktion(val abbreviation: String, override val code: String) : ICodeEnum {
|
|
@ -1,8 +1,8 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.implementierte.encryption
|
package net.codinux.banking.fints.messages.datenelemente.implementierte.encryption
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
import net.dankito.banking.fints.messages.datenelemente.abgeleiteteformate.Code
|
import net.codinux.banking.fints.messages.datenelemente.abgeleiteteformate.Code
|
||||||
import net.dankito.banking.fints.messages.datenelemente.implementierte.allCodes
|
import net.codinux.banking.fints.messages.datenelemente.implementierte.allCodes
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,7 +1,7 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.implementierte.encryption
|
package net.codinux.banking.fints.messages.datenelemente.implementierte.encryption
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
import net.dankito.banking.fints.messages.datenelemente.basisformate.BinaerDatenelement
|
import net.codinux.banking.fints.messages.datenelemente.basisformate.BinaerDatenelement
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,6 +1,6 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.implementierte.encryption
|
package net.codinux.banking.fints.messages.datenelemente.implementierte.encryption
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.datenelemente.implementierte.ICodeEnum
|
import net.codinux.banking.fints.messages.datenelemente.implementierte.ICodeEnum
|
||||||
|
|
||||||
|
|
||||||
enum class Verschluesselungsalgorithmus(override val code: String) : ICodeEnum {
|
enum class Verschluesselungsalgorithmus(override val code: String) : ICodeEnum {
|
|
@ -1,8 +1,8 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.implementierte.encryption
|
package net.codinux.banking.fints.messages.datenelemente.implementierte.encryption
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
import net.dankito.banking.fints.messages.datenelemente.abgeleiteteformate.Code
|
import net.codinux.banking.fints.messages.datenelemente.abgeleiteteformate.Code
|
||||||
import net.dankito.banking.fints.messages.datenelemente.implementierte.allCodes
|
import net.codinux.banking.fints.messages.datenelemente.implementierte.allCodes
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,6 +1,6 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.implementierte.encryption
|
package net.codinux.banking.fints.messages.datenelemente.implementierte.encryption
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.datenelemente.implementierte.ICodeEnum
|
import net.codinux.banking.fints.messages.datenelemente.implementierte.ICodeEnum
|
||||||
|
|
||||||
|
|
||||||
enum class VerwendungDesVerschluesselungsalgorithmus(override val code: String) : ICodeEnum {
|
enum class VerwendungDesVerschluesselungsalgorithmus(override val code: String) : ICodeEnum {
|
|
@ -1,8 +1,8 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.implementierte.encryption
|
package net.codinux.banking.fints.messages.datenelemente.implementierte.encryption
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
import net.dankito.banking.fints.messages.datenelemente.abgeleiteteformate.Code
|
import net.codinux.banking.fints.messages.datenelemente.abgeleiteteformate.Code
|
||||||
import net.dankito.banking.fints.messages.datenelemente.implementierte.allCodes
|
import net.codinux.banking.fints.messages.datenelemente.implementierte.allCodes
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,7 +1,7 @@
|
||||||
package net.dankito.banking.fints.messages.datenelemente.implementierte.encryption
|
package net.codinux.banking.fints.messages.datenelemente.implementierte.encryption
|
||||||
|
|
||||||
import net.dankito.banking.fints.messages.Existenzstatus
|
import net.codinux.banking.fints.messages.Existenzstatus
|
||||||
import net.dankito.banking.fints.messages.datenelemente.basisformate.BinaerDatenelement
|
import net.codinux.banking.fints.messages.datenelemente.basisformate.BinaerDatenelement
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue