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 net.dankito.banking.client.model.parameter.GetAccountDataParameter
|
||||
import net.dankito.banking.client.model.response.GetAccountDataResponse
|
||||
import net.dankito.banking.fints.FinTsClient
|
||||
import net.dankito.banking.fints.callback.SimpleFinTsClientCallback
|
||||
import net.dankito.banking.fints.model.TanChallenge
|
||||
import net.codinux.banking.fints.FinTsClient
|
||||
import net.codinux.banking.fints.callback.SimpleFinTsClientCallback
|
||||
import net.codinux.banking.fints.model.TanChallenge
|
||||
import net.dankito.utils.multiplatform.extensions.millisSinceEpochAtSystemDefaultTimeZone
|
||||
import org.slf4j.LoggerFactory
|
||||
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.adapter.viewholder.AccountTransactionsViewHolder
|
||||
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.ui.adapter.ListRecyclerAdapter
|
||||
import org.slf4j.LoggerFactory
|
||||
|
|
|
@ -15,9 +15,9 @@ import androidx.fragment.app.DialogFragment
|
|||
import androidx.fragment.app.FragmentActivity
|
||||
import net.codinux.banking.fints4k.android.Presenter
|
||||
import net.codinux.banking.fints4k.android.R
|
||||
import net.dankito.banking.fints.model.FlickerCodeTanChallenge
|
||||
import net.dankito.banking.fints.model.ImageTanChallenge
|
||||
import net.dankito.banking.fints.model.TanChallenge
|
||||
import net.codinux.banking.fints.model.FlickerCodeTanChallenge
|
||||
import net.codinux.banking.fints.model.ImageTanChallenge
|
||||
import net.codinux.banking.fints.model.TanChallenge
|
||||
import net.dankito.utils.android.extensions.getSpannedFromHtml
|
||||
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.RetrieveTransactions
|
||||
import net.dankito.banking.client.model.parameter.TransferMoneyParameter
|
||||
import net.dankito.banking.fints.FinTsClient
|
||||
import net.dankito.banking.fints.callback.SimpleFinTsClientCallback
|
||||
import net.dankito.banking.fints.extensions.toStringWithMinDigits
|
||||
import net.dankito.banking.fints.getAccountData
|
||||
import net.dankito.banking.fints.model.TanChallenge
|
||||
import net.dankito.banking.fints.transferMoney
|
||||
import net.codinux.banking.fints.FinTsClient
|
||||
import net.codinux.banking.fints.callback.SimpleFinTsClientCallback
|
||||
import net.codinux.banking.fints.extensions.toStringWithMinDigits
|
||||
import net.codinux.banking.fints.getAccountData
|
||||
import net.codinux.banking.fints.model.TanChallenge
|
||||
import net.codinux.banking.fints.transferMoney
|
||||
import util.CsvWriter
|
||||
import util.OutputFormat
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package commands
|
||||
|
||||
import NativeApp
|
||||
import net.dankito.banking.fints.model.TanMethodType
|
||||
import net.codinux.banking.fints.model.TanMethodType
|
||||
|
||||
|
||||
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.options.option
|
||||
import net.dankito.banking.client.model.parameter.TransferMoneyParameter
|
||||
import net.dankito.banking.fints.model.AccountData
|
||||
import net.dankito.banking.fints.model.Amount
|
||||
import net.dankito.banking.fints.model.Currency
|
||||
import net.dankito.banking.fints.model.Money
|
||||
import net.codinux.banking.fints.model.AccountData
|
||||
import net.codinux.banking.fints.model.Amount
|
||||
import net.codinux.banking.fints.model.Currency
|
||||
import net.codinux.banking.fints.model.Money
|
||||
|
||||
|
||||
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 net.dankito.banking.client.model.parameter.GetAccountDataParameter
|
||||
import net.dankito.banking.client.model.parameter.RetrieveTransactions
|
||||
import net.dankito.banking.fints.model.TanMethodType
|
||||
import net.dankito.banking.fints.extensions.todayAtEuropeBerlin
|
||||
import net.codinux.banking.fints.model.TanMethodType
|
||||
import net.codinux.banking.fints.extensions.todayAtEuropeBerlin
|
||||
import util.OutputFormat
|
||||
|
||||
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
package net.dankito.banking.fints
|
||||
package net.codinux.banking.fints
|
||||
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import net.dankito.banking.client.model.parameter.GetAccountDataParameter
|
||||
import net.dankito.banking.client.model.parameter.TransferMoneyParameter
|
||||
import net.dankito.banking.client.model.response.GetAccountDataResponse
|
||||
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 {
|
|
@ -1,7 +1,7 @@
|
|||
import kotlinx.coroutines.GlobalScope
|
||||
import kotlinx.coroutines.launch
|
||||
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.dom.*
|
||||
import styled.styledDiv
|
||||
|
|
|
@ -2,8 +2,8 @@ import io.ktor.util.encodeBase64
|
|||
import kotlinx.html.InputType
|
||||
import kotlinx.html.js.onChangeFunction
|
||||
import kotlinx.html.style
|
||||
import net.dankito.banking.fints.model.ImageTanChallenge
|
||||
import net.dankito.banking.fints.model.TanChallenge
|
||||
import net.codinux.banking.fints.model.ImageTanChallenge
|
||||
import net.codinux.banking.fints.model.TanChallenge
|
||||
import org.w3c.dom.HTMLInputElement
|
||||
import react.Props
|
||||
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.response.GetAccountDataResponse
|
||||
import net.dankito.banking.client.model.response.TransferMoneyResponse
|
||||
import net.dankito.banking.fints.FinTsClient
|
||||
import net.dankito.banking.fints.callback.SimpleFinTsClientCallback
|
||||
import net.dankito.banking.fints.model.*
|
||||
import net.dankito.banking.fints.webclient.KtorWebClient
|
||||
import net.dankito.banking.fints.webclient.ProxyingWebClient
|
||||
import net.codinux.banking.fints.FinTsClient
|
||||
import net.codinux.banking.fints.callback.SimpleFinTsClientCallback
|
||||
import net.codinux.banking.fints.model.*
|
||||
import net.codinux.banking.fints.webclient.KtorWebClient
|
||||
import net.codinux.banking.fints.webclient.ProxyingWebClient
|
||||
import net.dankito.utils.multiplatform.log.LoggerFactory
|
||||
|
||||
open class Presenter {
|
||||
|
|
|
@ -34,7 +34,7 @@ kotlin {
|
|||
browser {
|
||||
testTask {
|
||||
useKarma {
|
||||
// useChromeHeadless()
|
||||
useChromeHeadless()
|
||||
useFirefoxHeadless()
|
||||
}
|
||||
}
|
||||
|
@ -43,10 +43,13 @@ kotlin {
|
|||
nodejs()
|
||||
}
|
||||
|
||||
// wasmJs() // ktor is not available for wasmJs yet
|
||||
|
||||
|
||||
linuxX64()
|
||||
mingwX64()
|
||||
|
||||
iosX64()
|
||||
iosArm64()
|
||||
iosSimulatorArm64()
|
||||
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.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.GetAccountDataResponse
|
||||
import net.dankito.banking.client.model.response.TransferMoneyResponse
|
||||
import net.dankito.banking.fints.callback.FinTsClientCallback
|
||||
import net.dankito.banking.fints.config.FinTsClientConfiguration
|
||||
import net.dankito.banking.fints.mapper.FinTsModelMapper
|
||||
import net.dankito.banking.fints.model.*
|
||||
import net.dankito.banking.fints.response.client.FinTsClientResponse
|
||||
import net.dankito.banking.fints.response.client.GetAccountInfoResponse
|
||||
import net.dankito.banking.fints.response.client.GetAccountTransactionsResponse
|
||||
import net.dankito.banking.fints.response.segments.AccountType
|
||||
import net.dankito.banking.fints.util.BicFinder
|
||||
import net.codinux.banking.fints.callback.FinTsClientCallback
|
||||
import net.codinux.banking.fints.config.FinTsClientConfiguration
|
||||
import net.codinux.banking.fints.mapper.FinTsModelMapper
|
||||
import net.codinux.banking.fints.model.*
|
||||
import net.codinux.banking.fints.response.client.FinTsClientResponse
|
||||
import net.codinux.banking.fints.response.client.GetAccountInfoResponse
|
||||
import net.codinux.banking.fints.response.client.GetAccountTransactionsResponse
|
||||
import net.codinux.banking.fints.response.segments.AccountType
|
||||
import net.codinux.banking.fints.util.BicFinder
|
||||
|
||||
|
||||
open class FinTsClient(
|
||||
|
@ -175,13 +175,13 @@ open class FinTsClient(
|
|||
|
||||
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
|
||||
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)
|
||||
|
||||
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.launch
|
||||
import kotlinx.datetime.*
|
||||
import net.dankito.banking.fints.callback.FinTsClientCallback
|
||||
import net.dankito.banking.fints.config.FinTsClientConfiguration
|
||||
import net.dankito.banking.fints.extensions.minusDays
|
||||
import net.dankito.banking.fints.extensions.todayAtEuropeBerlin
|
||||
import net.dankito.banking.fints.messages.datenelemente.implementierte.tan.*
|
||||
import net.dankito.banking.fints.model.*
|
||||
import net.dankito.banking.fints.response.BankResponse
|
||||
import net.dankito.banking.fints.response.client.*
|
||||
import net.dankito.banking.fints.webclient.IWebClient
|
||||
import net.codinux.banking.fints.callback.FinTsClientCallback
|
||||
import net.codinux.banking.fints.config.FinTsClientConfiguration
|
||||
import net.codinux.banking.fints.extensions.minusDays
|
||||
import net.codinux.banking.fints.extensions.todayAtEuropeBerlin
|
||||
import net.codinux.banking.fints.messages.datenelemente.implementierte.tan.*
|
||||
import net.codinux.banking.fints.model.*
|
||||
import net.codinux.banking.fints.response.BankResponse
|
||||
import net.codinux.banking.fints.response.client.*
|
||||
|
||||
|
||||
/**
|
||||
|
@ -26,19 +25,6 @@ open class FinTsClientDeprecated(
|
|||
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,
|
||||
* 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.dankito.banking.fints.config.FinTsClientConfiguration
|
||||
import net.dankito.banking.fints.model.*
|
||||
import net.dankito.banking.fints.response.client.AddAccountResponse
|
||||
import net.dankito.banking.fints.response.client.FinTsClientResponse
|
||||
import net.dankito.banking.fints.response.client.GetAccountTransactionsResponse
|
||||
import net.codinux.banking.fints.callback.FinTsClientCallback
|
||||
import net.codinux.banking.fints.config.FinTsClientConfiguration
|
||||
import net.codinux.banking.fints.model.*
|
||||
import net.codinux.banking.fints.response.client.AddAccountResponse
|
||||
import net.codinux.banking.fints.response.client.FinTsClientResponse
|
||||
import net.codinux.banking.fints.response.client.GetAccountTransactionsResponse
|
||||
|
||||
|
||||
open class FinTsClientForCustomer(
|
|
@ -1,26 +1,26 @@
|
|||
package net.dankito.banking.fints
|
||||
package net.codinux.banking.fints
|
||||
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.datetime.LocalDate
|
||||
import net.codinux.log.logger
|
||||
import net.dankito.banking.fints.messages.MessageBuilder
|
||||
import net.dankito.banking.fints.messages.MessageBuilderResult
|
||||
import net.dankito.banking.fints.messages.datenelemente.implementierte.signatur.VersionDesSicherheitsverfahrens
|
||||
import net.dankito.banking.fints.messages.datenelemente.implementierte.tan.*
|
||||
import net.dankito.banking.fints.messages.segmente.id.CustomerSegmentId
|
||||
import net.dankito.banking.fints.messages.segmente.id.ISegmentId
|
||||
import net.dankito.banking.fints.model.*
|
||||
import net.dankito.banking.fints.model.mapper.ModelMapper
|
||||
import net.dankito.banking.fints.response.BankResponse
|
||||
import net.dankito.banking.fints.response.InstituteSegmentId
|
||||
import net.dankito.banking.fints.response.client.*
|
||||
import net.dankito.banking.fints.response.segments.*
|
||||
import net.dankito.banking.fints.tan.FlickerCodeDecoder
|
||||
import net.dankito.banking.fints.tan.TanImageDecoder
|
||||
import net.dankito.banking.fints.util.TanMethodSelector
|
||||
import net.dankito.banking.fints.extensions.minusDays
|
||||
import net.dankito.banking.fints.extensions.todayAtEuropeBerlin
|
||||
import net.dankito.banking.fints.extensions.todayAtSystemDefaultTimeZone
|
||||
import net.codinux.banking.fints.messages.MessageBuilder
|
||||
import net.codinux.banking.fints.messages.MessageBuilderResult
|
||||
import net.codinux.banking.fints.messages.datenelemente.implementierte.signatur.VersionDesSicherheitsverfahrens
|
||||
import net.codinux.banking.fints.messages.datenelemente.implementierte.tan.*
|
||||
import net.codinux.banking.fints.messages.segmente.id.CustomerSegmentId
|
||||
import net.codinux.banking.fints.messages.segmente.id.ISegmentId
|
||||
import net.codinux.banking.fints.model.*
|
||||
import net.codinux.banking.fints.model.mapper.ModelMapper
|
||||
import net.codinux.banking.fints.response.BankResponse
|
||||
import net.codinux.banking.fints.response.InstituteSegmentId
|
||||
import net.codinux.banking.fints.response.client.*
|
||||
import net.codinux.banking.fints.response.segments.*
|
||||
import net.codinux.banking.fints.tan.FlickerCodeDecoder
|
||||
import net.codinux.banking.fints.tan.TanImageDecoder
|
||||
import net.codinux.banking.fints.util.TanMethodSelector
|
||||
import net.codinux.banking.fints.extensions.minusDays
|
||||
import net.codinux.banking.fints.extensions.todayAtEuropeBerlin
|
||||
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.dankito.banking.fints.messages.MessageBuilder
|
||||
import net.dankito.banking.fints.messages.MessageBuilderResult
|
||||
import net.dankito.banking.fints.model.*
|
||||
import net.dankito.banking.fints.response.BankResponse
|
||||
import net.dankito.banking.fints.response.segments.TanResponse
|
||||
import net.dankito.banking.fints.util.IBase64Service
|
||||
import net.dankito.banking.fints.util.PureKotlinBase64Service
|
||||
import net.dankito.banking.fints.webclient.IWebClient
|
||||
import net.dankito.banking.fints.webclient.KtorWebClient
|
||||
import net.dankito.banking.fints.webclient.WebClientResponse
|
||||
import net.dankito.banking.fints.extensions.getAllExceptionMessagesJoined
|
||||
import net.codinux.banking.fints.messages.MessageBuilder
|
||||
import net.codinux.banking.fints.messages.MessageBuilderResult
|
||||
import net.codinux.banking.fints.model.*
|
||||
import net.codinux.banking.fints.response.BankResponse
|
||||
import net.codinux.banking.fints.response.segments.TanResponse
|
||||
import net.codinux.banking.fints.util.IBase64Service
|
||||
import net.codinux.banking.fints.util.PureKotlinBase64Service
|
||||
import net.codinux.banking.fints.webclient.IWebClient
|
||||
import net.codinux.banking.fints.webclient.KtorWebClient
|
||||
import net.codinux.banking.fints.webclient.WebClientResponse
|
||||
import net.codinux.banking.fints.extensions.getAllExceptionMessagesJoined
|
||||
import net.codinux.banking.fints.response.segments.ReceivedSegment
|
||||
|
||||
|
||||
open class RequestExecutor(
|
||||
|
@ -104,9 +105,11 @@ open class RequestExecutor(
|
|||
try {
|
||||
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) {
|
||||
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) {
|
||||
context.addMessageLog(type, message)
|
||||
protected open fun addMessageLog(context: JobContext, type: MessageLogEntryType, message: String, parsedSegments: List<ReceivedSegment> = emptyList()) {
|
||||
context.addMessageLog(type, message, parsedSegments)
|
||||
}
|
||||
|
||||
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.dankito.banking.fints.model.*
|
||||
import net.codinux.banking.fints.messages.datenelemente.implementierte.tan.TanGeneratorTanMedium
|
||||
import net.codinux.banking.fints.model.*
|
||||
|
||||
|
||||
interface FinTsClientCallback {
|
||||
|
@ -27,4 +27,11 @@ interface FinTsClientCallback {
|
|||
*/
|
||||
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.dankito.banking.fints.model.*
|
||||
import net.codinux.banking.fints.messages.datenelemente.implementierte.tan.TanGeneratorTanMedium
|
||||
import net.codinux.banking.fints.model.*
|
||||
|
||||
|
||||
open class NoOpFinTsClientCallback : FinTsClientCallback {
|
||||
|
@ -18,4 +18,8 @@ open class NoOpFinTsClientCallback : FinTsClientCallback {
|
|||
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.dankito.banking.fints.model.*
|
||||
import net.codinux.banking.fints.messages.datenelemente.implementierte.tan.TanGeneratorTanMedium
|
||||
import net.codinux.banking.fints.model.*
|
||||
|
||||
|
||||
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 askUserForTanMethod: ((supportedTanMethods: List<TanMethod>, suggestedTanMethod: TanMethod?) -> TanMethod?)? = null
|
||||
protected open val enterTan: ((tanChallenge: TanChallenge) -> Unit)? = null
|
||||
) : 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? {
|
||||
|
@ -28,4 +29,8 @@ open class SimpleFinTsClientCallback(
|
|||
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.dankito.banking.fints.RequestExecutor
|
||||
import net.dankito.banking.fints.messages.MessageBuilder
|
||||
import net.dankito.banking.fints.model.mapper.ModelMapper
|
||||
import net.dankito.banking.fints.util.FinTsServerAddressFinder
|
||||
import net.dankito.banking.fints.util.IBase64Service
|
||||
import net.dankito.banking.fints.util.PureKotlinBase64Service
|
||||
import net.dankito.banking.fints.util.TanMethodSelector
|
||||
import net.dankito.banking.fints.webclient.IWebClient
|
||||
import net.dankito.banking.fints.webclient.KtorWebClient
|
||||
import net.codinux.banking.fints.FinTsJobExecutor
|
||||
import net.codinux.banking.fints.RequestExecutor
|
||||
import net.codinux.banking.fints.messages.MessageBuilder
|
||||
import net.codinux.banking.fints.model.mapper.ModelMapper
|
||||
import net.codinux.banking.fints.util.FinTsServerAddressFinder
|
||||
import net.codinux.banking.fints.util.IBase64Service
|
||||
import net.codinux.banking.fints.util.PureKotlinBase64Service
|
||||
import net.codinux.banking.fints.util.TanMethodSelector
|
||||
import net.codinux.banking.fints.webclient.IWebClient
|
||||
import net.codinux.banking.fints.webclient.KtorWebClient
|
||||
|
||||
class FinTsClientConfiguration(
|
||||
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 kotlin.js.JsName
|
|
@ -1,4 +1,4 @@
|
|||
package net.dankito.banking.fints.extensions
|
||||
package net.codinux.banking.fints.extensions
|
||||
|
||||
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 {
|
|
@ -1,4 +1,4 @@
|
|||
package net.dankito.banking.fints.extensions
|
||||
package net.codinux.banking.fints.extensions
|
||||
|
||||
import kotlinx.datetime.Clock
|
||||
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 {
|
|
@ -1,4 +1,4 @@
|
|||
package net.dankito.banking.fints.extensions
|
||||
package net.codinux.banking.fints.extensions
|
||||
|
||||
import kotlinx.datetime.TimeZone
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package net.dankito.banking.fints.log
|
||||
package net.codinux.banking.fints.log
|
||||
|
||||
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.logger
|
||||
import net.dankito.banking.fints.config.FinTsClientOptions
|
||||
import net.dankito.banking.fints.model.BankData
|
||||
import net.dankito.banking.fints.model.MessageLogEntry
|
||||
import net.dankito.banking.fints.model.MessageLogEntryType
|
||||
import net.dankito.banking.fints.extensions.getInnerException
|
||||
import net.dankito.banking.fints.extensions.nthIndexOf
|
||||
import net.dankito.banking.fints.extensions.toStringWithMinDigits
|
||||
import net.dankito.banking.fints.util.FinTsUtils
|
||||
import net.codinux.banking.fints.callback.FinTsClientCallback
|
||||
import net.codinux.banking.fints.config.FinTsClientOptions
|
||||
import net.codinux.banking.fints.model.BankData
|
||||
import net.codinux.banking.fints.model.MessageLogEntry
|
||||
import net.codinux.banking.fints.model.MessageLogEntryType
|
||||
import net.codinux.banking.fints.extensions.getInnerException
|
||||
import net.codinux.banking.fints.extensions.nthIndexOf
|
||||
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
|
||||
|
||||
|
||||
open class MessageLogCollector(
|
||||
private val callback: FinTsClientCallback,
|
||||
private val options: FinTsClientOptions = FinTsClientOptions(),
|
||||
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
|
||||
open val messageLog: List<MessageLogEntry>
|
||||
// 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 {
|
||||
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 {
|
||||
logEntry.messageTrace + "\n" + prettyPrintFinTsMessage(logEntry.message)
|
||||
logEntry.message
|
||||
}
|
||||
|
||||
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)
|
||||
|
||||
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) {
|
||||
val type = MessageLogEntryType.Error
|
||||
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)
|
||||
}
|
||||
|
||||
protected open fun addMessageLogEntry(type: MessageLogEntryType, context: MessageContext, messageTrace: String, message: String, error: Throwable? = null) {
|
||||
_messageLog.add(MessageLogEntry(type, context, messageTrace, message, error))
|
||||
protected open fun addMessageLogEntry(type: MessageLogEntryType, context: MessageContext, messageTrace: String, message: String, error: Throwable? = null, parsedSegments: List<ReceivedSegment> = emptyList()) {
|
||||
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 {
|
||||
return when (type) {
|
||||
MessageLogEntryType.Sent -> "Sending message"
|
||||
MessageLogEntryType.Received -> "Received message"
|
||||
MessageLogEntryType.Error -> "Error"
|
||||
MessageLogEntryType.Sent -> "01 Sending message"
|
||||
MessageLogEntryType.Received -> "02 Received message"
|
||||
MessageLogEntryType.Error -> "03 Error"
|
||||
}
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package net.dankito.banking.fints.mapper
|
||||
package net.codinux.banking.fints.mapper
|
||||
|
||||
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 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.RetrieveTransactions
|
||||
import net.dankito.banking.client.model.response.ErrorCode
|
||||
import net.dankito.banking.fints.messages.datenelemente.abgeleiteteformate.Laenderkennzeichen
|
||||
import net.dankito.banking.fints.model.*
|
||||
import net.dankito.banking.fints.response.client.FinTsClientResponse
|
||||
import net.dankito.banking.fints.response.client.GetAccountTransactionsResponse
|
||||
import net.dankito.banking.fints.response.segments.AccountType
|
||||
import net.dankito.banking.fints.util.BicFinder
|
||||
import net.dankito.banking.fints.extensions.minusDays
|
||||
import net.dankito.banking.fints.extensions.todayAtEuropeBerlin
|
||||
import net.codinux.banking.fints.messages.datenelemente.abgeleiteteformate.Laenderkennzeichen
|
||||
import net.codinux.banking.fints.model.*
|
||||
import net.codinux.banking.fints.response.client.FinTsClientResponse
|
||||
import net.codinux.banking.fints.response.client.GetAccountTransactionsResponse
|
||||
import net.codinux.banking.fints.response.segments.AccountType
|
||||
import net.codinux.banking.fints.util.BicFinder
|
||||
import net.codinux.banking.fints.extensions.minusDays
|
||||
import net.codinux.banking.fints.extensions.todayAtEuropeBerlin
|
||||
|
||||
|
||||
open class FinTsModelMapper {
|
||||
|
@ -90,7 +90,7 @@ open class FinTsModelMapper {
|
|||
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,
|
||||
transaction.otherPartyName, transaction.otherPartyBankCode, transaction.otherPartyAccountId, transaction.bookingText, transaction.valueDate,
|
||||
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 {
|
|
@ -1,4 +1,4 @@
|
|||
package net.dankito.banking.fints.messages
|
||||
package net.codinux.banking.fints.messages
|
||||
|
||||
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.dankito.banking.fints.messages.datenelemente.implementierte.Aufsetzpunkt
|
||||
import net.dankito.banking.fints.messages.datenelemente.implementierte.KundensystemID
|
||||
import net.dankito.banking.fints.messages.datenelemente.implementierte.Synchronisierungsmodus
|
||||
import net.dankito.banking.fints.messages.datenelemente.implementierte.tan.TanGeneratorTanMedium
|
||||
import net.dankito.banking.fints.messages.datenelemente.implementierte.tan.TanMedienArtVersion
|
||||
import net.dankito.banking.fints.messages.datenelemente.implementierte.tan.TanMediumKlasse
|
||||
import net.dankito.banking.fints.messages.datenelemente.implementierte.tan.TanProcess
|
||||
import net.dankito.banking.fints.messages.segmente.Segment
|
||||
import net.dankito.banking.fints.messages.segmente.Synchronisierung
|
||||
import net.dankito.banking.fints.messages.segmente.id.CustomerSegmentId
|
||||
import net.dankito.banking.fints.messages.segmente.id.ISegmentId
|
||||
import net.dankito.banking.fints.messages.segmente.implementierte.*
|
||||
import net.dankito.banking.fints.messages.segmente.implementierte.sepa.SepaBankTransferBase
|
||||
import net.dankito.banking.fints.messages.segmente.implementierte.tan.TanGeneratorListeAnzeigen
|
||||
import net.dankito.banking.fints.messages.segmente.implementierte.tan.TanGeneratorTanMediumAnOderUmmelden
|
||||
import net.dankito.banking.fints.messages.segmente.implementierte.umsaetze.*
|
||||
import net.dankito.banking.fints.model.*
|
||||
import net.dankito.banking.fints.response.InstituteSegmentId
|
||||
import net.dankito.banking.fints.response.segments.*
|
||||
import net.dankito.banking.fints.util.FinTsUtils
|
||||
import net.codinux.banking.fints.extensions.randomWithSeed
|
||||
import net.codinux.banking.fints.messages.datenelemente.implementierte.Aufsetzpunkt
|
||||
import net.codinux.banking.fints.messages.datenelemente.implementierte.KundensystemID
|
||||
import net.codinux.banking.fints.messages.datenelemente.implementierte.Synchronisierungsmodus
|
||||
import net.codinux.banking.fints.messages.datenelemente.implementierte.tan.TanGeneratorTanMedium
|
||||
import net.codinux.banking.fints.messages.datenelemente.implementierte.tan.TanMedienArtVersion
|
||||
import net.codinux.banking.fints.messages.datenelemente.implementierte.tan.TanMediumKlasse
|
||||
import net.codinux.banking.fints.messages.datenelemente.implementierte.tan.TanProcess
|
||||
import net.codinux.banking.fints.messages.segmente.Segment
|
||||
import net.codinux.banking.fints.messages.segmente.Synchronisierung
|
||||
import net.codinux.banking.fints.messages.segmente.id.CustomerSegmentId
|
||||
import net.codinux.banking.fints.messages.segmente.id.ISegmentId
|
||||
import net.codinux.banking.fints.messages.segmente.implementierte.*
|
||||
import net.codinux.banking.fints.messages.segmente.implementierte.sepa.SepaBankTransferBase
|
||||
import net.codinux.banking.fints.messages.segmente.implementierte.tan.TanGeneratorListeAnzeigen
|
||||
import net.codinux.banking.fints.messages.segmente.implementierte.tan.TanGeneratorTanMediumAnOderUmmelden
|
||||
import net.codinux.banking.fints.messages.segmente.implementierte.umsaetze.*
|
||||
import net.codinux.banking.fints.model.*
|
||||
import net.codinux.banking.fints.response.InstituteSegmentId
|
||||
import net.codinux.banking.fints.response.segments.*
|
||||
import net.codinux.banking.fints.util.FinTsUtils
|
||||
import kotlin.math.absoluteValue
|
||||
|
||||
|
||||
|
@ -133,7 +133,7 @@ open class MessageBuilder(protected val utils: FinTsUtils = FinTsUtils()) {
|
|||
}
|
||||
|
||||
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)
|
||||
|
@ -394,7 +394,7 @@ open class MessageBuilder(protected val utils: FinTsUtils = FinTsUtils()) {
|
|||
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 time = utils.formatTimeNowAsInt()
|
||||
|
@ -406,7 +406,7 @@ open class MessageBuilder(protected val utils: FinTsUtils = FinTsUtils()) {
|
|||
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
|
||||
dialog.increaseMessageNumber()
|
||||
|
@ -536,8 +536,7 @@ open class MessageBuilder(protected val utils: FinTsUtils = FinTsUtils()) {
|
|||
}
|
||||
|
||||
protected open fun isTanRequiredForJob(context: JobContext, segmentId: CustomerSegmentId): Boolean {
|
||||
return context.bank.pinInfo?.jobTanConfiguration?.first { it.segmentId == segmentId.id }?.tanRequired
|
||||
?: false // TODO: actually in this case it's not allowed to execute job via PIN/TAN at all
|
||||
return context.bank.doesJobRequireTan(segmentId)
|
||||
}
|
||||
|
||||
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.dankito.banking.fints.messages.segmente.implementierte.ZweiSchrittTanEinreichung
|
||||
import net.codinux.banking.fints.messages.segmente.Segment
|
||||
import net.codinux.banking.fints.messages.segmente.implementierte.ZweiSchrittTanEinreichung
|
||||
|
||||
|
||||
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()) {
|
|
@ -1,4 +1,4 @@
|
|||
package net.dankito.banking.fints.messages
|
||||
package net.codinux.banking.fints.messages
|
||||
|
||||
|
||||
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) {
|
|
@ -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.dankito.banking.fints.messages.datenelemente.basisformate.AlphanumerischesDatenelement
|
||||
import net.dankito.banking.fints.messages.datenelemente.implementierte.ICodeEnum
|
||||
import net.codinux.banking.fints.messages.Existenzstatus
|
||||
import net.codinux.banking.fints.messages.datenelemente.basisformate.AlphanumerischesDatenelement
|
||||
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 net.codinux.log.logger
|
||||
import net.dankito.banking.fints.extensions.toStringWithMinDigits
|
||||
import net.dankito.banking.fints.messages.Existenzstatus
|
||||
import net.dankito.banking.fints.messages.datenelemente.basisformate.NumerischesDatenelement
|
||||
import net.codinux.banking.fints.extensions.toStringWithMinDigits
|
||||
import net.codinux.banking.fints.messages.Existenzstatus
|
||||
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.dankito.banking.fints.messages.datenelemente.basisformate.AlphanumerischesDatenelement
|
||||
import net.codinux.banking.fints.messages.Existenzstatus
|
||||
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.dankito.banking.fints.messages.datenelemente.basisformate.AlphanumerischesDatenelement
|
||||
import net.codinux.banking.fints.messages.Existenzstatus
|
||||
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.dankito.banking.fints.messages.datenelemente.basisformate.ZiffernDatenelement
|
||||
import net.codinux.banking.fints.messages.Existenzstatus
|
||||
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 net.codinux.log.logger
|
||||
import net.dankito.banking.fints.extensions.toStringWithMinDigits
|
||||
import net.dankito.banking.fints.messages.Existenzstatus
|
||||
import net.dankito.banking.fints.messages.datenelemente.basisformate.ZiffernDatenelement
|
||||
import net.codinux.banking.fints.extensions.toStringWithMinDigits
|
||||
import net.codinux.banking.fints.messages.Existenzstatus
|
||||
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.name
|
||||
import net.dankito.banking.fints.messages.Existenzstatus
|
||||
import net.dankito.banking.fints.messages.HbciCharset
|
||||
import net.dankito.banking.fints.messages.Separators
|
||||
import net.dankito.banking.fints.messages.datenelemente.Datenelement
|
||||
import net.codinux.banking.fints.messages.Existenzstatus
|
||||
import net.codinux.banking.fints.messages.HbciCharset
|
||||
import net.codinux.banking.fints.messages.Separators
|
||||
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.dankito.banking.fints.messages.datenelemente.basisformate.AlphanumerischesDatenelement
|
||||
import net.codinux.banking.fints.messages.Existenzstatus
|
||||
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.dankito.banking.fints.messages.datenelemente.basisformate.NumerischesDatenelement
|
||||
import net.codinux.banking.fints.messages.Existenzstatus
|
||||
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.dankito.banking.fints.messages.datenelemente.abgeleiteteformate.Identifikation
|
||||
import net.codinux.banking.fints.messages.Existenzstatus
|
||||
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.dankito.banking.fints.messages.datenelemente.basisformate.NumerischesDatenelement
|
||||
import net.codinux.banking.fints.messages.Existenzstatus
|
||||
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.dankito.banking.fints.messages.datenelemente.abgeleiteteformate.Identifikation
|
||||
import net.codinux.banking.fints.messages.Existenzstatus
|
||||
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.dankito.banking.fints.messages.datenelemente.abgeleiteteformate.Code
|
||||
import net.codinux.banking.fints.messages.Existenzstatus
|
||||
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.dankito.banking.fints.messages.datenelemente.basisformate.TextDatenelement
|
||||
import net.codinux.banking.fints.messages.Existenzstatus
|
||||
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 {
|
|
@ -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.dankito.banking.fints.messages.datenelemente.basisformate.NumerischesDatenelement
|
||||
import net.codinux.banking.fints.messages.Existenzstatus
|
||||
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> {
|
|
@ -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.dankito.banking.fints.messages.datenelemente.basisformate.AlphanumerischesDatenelement
|
||||
import net.codinux.banking.fints.messages.Existenzstatus
|
||||
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.dankito.banking.fints.messages.datenelemente.abgeleiteteformate.Identifikation
|
||||
import net.codinux.banking.fints.messages.Existenzstatus
|
||||
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.dankito.banking.fints.messages.datenelemente.abgeleiteteformate.Identifikation
|
||||
import net.codinux.banking.fints.messages.Existenzstatus
|
||||
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.dankito.banking.fints.messages.datenelemente.abgeleiteteformate.Code
|
||||
import net.codinux.banking.fints.messages.Existenzstatus
|
||||
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.dankito.banking.fints.messages.datenelemente.basisformate.ZiffernDatenelement
|
||||
import net.codinux.banking.fints.messages.Existenzstatus
|
||||
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.dankito.banking.fints.messages.datenelemente.basisformate.NumerischesDatenelement
|
||||
import net.codinux.banking.fints.messages.Existenzstatus
|
||||
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.dankito.banking.fints.messages.datenelemente.basisformate.AlphanumerischesDatenelement
|
||||
import net.codinux.banking.fints.messages.Existenzstatus
|
||||
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.dankito.banking.fints.messages.datenelemente.basisformate.AlphanumerischesDatenelement
|
||||
import net.codinux.banking.fints.messages.Existenzstatus
|
||||
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.dankito.banking.fints.messages.datenelemente.basisformate.AlphanumerischesDatenelement
|
||||
import net.codinux.banking.fints.messages.Existenzstatus
|
||||
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.dankito.banking.fints.messages.datenelemente.basisformate.NumerischesDatenelement
|
||||
import net.codinux.banking.fints.messages.Existenzstatus
|
||||
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.dankito.banking.fints.messages.datenelemente.basisformate.NumerischesDatenelement
|
||||
import net.codinux.banking.fints.messages.Existenzstatus
|
||||
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 {
|
|
@ -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.dankito.banking.fints.messages.datenelemente.abgeleiteteformate.Code
|
||||
import net.codinux.banking.fints.messages.Existenzstatus
|
||||
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.dankito.banking.fints.messages.datenelemente.basisformate.NumerischesDatenelement
|
||||
import net.codinux.banking.fints.messages.Existenzstatus
|
||||
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.dankito.banking.fints.messages.datenelemente.abgeleiteteformate.JaNein
|
||||
import net.codinux.banking.fints.messages.Existenzstatus
|
||||
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.dankito.banking.fints.messages.datenelemente.abgeleiteteformate.Identifikation
|
||||
import net.codinux.banking.fints.messages.Existenzstatus
|
||||
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.dankito.banking.fints.messages.datenelemente.basisformate.NumerischesDatenelement
|
||||
import net.dankito.banking.fints.model.GetAccountTransactionsParameter
|
||||
import net.codinux.banking.fints.messages.Existenzstatus
|
||||
import net.codinux.banking.fints.messages.datenelemente.basisformate.NumerischesDatenelement
|
||||
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.dankito.banking.fints.messages.datenelemente.abgeleiteteformate.Identifikation
|
||||
import net.codinux.banking.fints.messages.Existenzstatus
|
||||
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 {
|
|
@ -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.dankito.banking.fints.messages.datenelemente.abgeleiteteformate.Code
|
||||
import net.dankito.banking.fints.messages.datenelemente.implementierte.allCodes
|
||||
import net.codinux.banking.fints.messages.Existenzstatus
|
||||
import net.codinux.banking.fints.messages.datenelemente.abgeleiteteformate.Code
|
||||
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 {
|
|
@ -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.dankito.banking.fints.messages.datenelemente.abgeleiteteformate.Code
|
||||
import net.dankito.banking.fints.messages.datenelemente.implementierte.allCodes
|
||||
import net.codinux.banking.fints.messages.Existenzstatus
|
||||
import net.codinux.banking.fints.messages.datenelemente.abgeleiteteformate.Code
|
||||
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 {
|
|
@ -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.dankito.banking.fints.messages.datenelemente.abgeleiteteformate.Code
|
||||
import net.dankito.banking.fints.messages.datenelemente.implementierte.allCodes
|
||||
import net.codinux.banking.fints.messages.Existenzstatus
|
||||
import net.codinux.banking.fints.messages.datenelemente.abgeleiteteformate.Code
|
||||
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.dankito.banking.fints.messages.datenelemente.basisformate.BinaerDatenelement
|
||||
import net.codinux.banking.fints.messages.Existenzstatus
|
||||
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 {
|
|
@ -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.dankito.banking.fints.messages.datenelemente.abgeleiteteformate.Code
|
||||
import net.dankito.banking.fints.messages.datenelemente.implementierte.allCodes
|
||||
import net.codinux.banking.fints.messages.Existenzstatus
|
||||
import net.codinux.banking.fints.messages.datenelemente.abgeleiteteformate.Code
|
||||
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 {
|
|
@ -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.dankito.banking.fints.messages.datenelemente.abgeleiteteformate.Code
|
||||
import net.dankito.banking.fints.messages.datenelemente.implementierte.allCodes
|
||||
import net.codinux.banking.fints.messages.Existenzstatus
|
||||
import net.codinux.banking.fints.messages.datenelemente.abgeleiteteformate.Code
|
||||
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.dankito.banking.fints.messages.datenelemente.basisformate.BinaerDatenelement
|
||||
import net.codinux.banking.fints.messages.Existenzstatus
|
||||
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