diff --git a/fints4k/src/commonMain/kotlin/net/dankito/banking/fints/messages/datenelementgruppen/implementierte/signatur/Schluesselname.kt b/fints4k/src/commonMain/kotlin/net/dankito/banking/fints/messages/datenelementgruppen/implementierte/signatur/Schluesselname.kt index 0b384aee..0d8cd067 100644 --- a/fints4k/src/commonMain/kotlin/net/dankito/banking/fints/messages/datenelementgruppen/implementierte/signatur/Schluesselname.kt +++ b/fints4k/src/commonMain/kotlin/net/dankito/banking/fints/messages/datenelementgruppen/implementierte/signatur/Schluesselname.kt @@ -8,6 +8,7 @@ import net.dankito.banking.fints.messages.datenelemente.implementierte.signatur. import net.dankito.banking.fints.messages.datenelemente.implementierte.signatur.Schluesselversion import net.dankito.banking.fints.messages.datenelementgruppen.Datenelementgruppe import net.dankito.banking.fints.messages.datenelementgruppen.implementierte.Kreditinstitutskennung +import net.dankito.banking.fints.model.BankData /** @@ -30,16 +31,14 @@ import net.dankito.banking.fints.messages.datenelementgruppen.implementierte.Kre * FinTS-Füllwert, z. B. „0“ */ open class Schluesselname( - bankCountryCode: Int, - bankCode: String, - userIdentification: String, + bank: BankData, key: Schluesselart, keyNumber: Int, keyVersion: Int ) : Datenelementgruppe(listOf( - Kreditinstitutskennung(bankCountryCode, bankCode), - Benutzerkennung(userIdentification), + Kreditinstitutskennung(bank.countryCode, bank.bankCodeForOnlineBanking), + Benutzerkennung(bank.customerId), SchluesselartDatenelement(key), Schluesselnummer(keyNumber), Schluesselversion(keyVersion) diff --git a/fints4k/src/commonMain/kotlin/net/dankito/banking/fints/messages/segmente/implementierte/IdentifikationsSegment.kt b/fints4k/src/commonMain/kotlin/net/dankito/banking/fints/messages/segmente/implementierte/IdentifikationsSegment.kt index 3575c3ee..f7972575 100644 --- a/fints4k/src/commonMain/kotlin/net/dankito/banking/fints/messages/segmente/implementierte/IdentifikationsSegment.kt +++ b/fints4k/src/commonMain/kotlin/net/dankito/banking/fints/messages/segmente/implementierte/IdentifikationsSegment.kt @@ -8,17 +8,21 @@ import net.dankito.banking.fints.messages.datenelementgruppen.implementierte.Kre import net.dankito.banking.fints.messages.datenelementgruppen.implementierte.Segmentkopf import net.dankito.banking.fints.messages.segmente.Segment import net.dankito.banking.fints.messages.segmente.id.CustomerSegmentId +import net.dankito.banking.fints.model.BankData import net.dankito.banking.fints.model.MessageBaseData open class IdentifikationsSegment( segmentNumber: Int, - baseData: MessageBaseData + bank: BankData ) : Segment(listOf( Segmentkopf(CustomerSegmentId.Identification, 2, segmentNumber), - Kreditinstitutskennung(baseData.bank.countryCode, baseData.bank.bankCodeForOnlineBanking), - KundenID(baseData.bank.customerId), - KundensystemID(baseData.bank.customerSystemId), - KundensystemStatus(baseData.bank.customerSystemStatus, Existenzstatus.Mandatory) -)) \ No newline at end of file + Kreditinstitutskennung(bank.countryCode, bank.bankCodeForOnlineBanking), + KundenID(bank.customerId), + KundensystemID(bank.customerSystemId), + KundensystemStatus(bank.customerSystemStatus, Existenzstatus.Mandatory) +)) { + + constructor(segmentNumber: Int, baseData: MessageBaseData) : this(segmentNumber, baseData.bank) +} \ No newline at end of file diff --git a/fints4k/src/commonMain/kotlin/net/dankito/banking/fints/messages/segmente/implementierte/Signaturkopf.kt b/fints4k/src/commonMain/kotlin/net/dankito/banking/fints/messages/segmente/implementierte/Signaturkopf.kt index 61718fa3..81c6f98d 100644 --- a/fints4k/src/commonMain/kotlin/net/dankito/banking/fints/messages/segmente/implementierte/Signaturkopf.kt +++ b/fints4k/src/commonMain/kotlin/net/dankito/banking/fints/messages/segmente/implementierte/Signaturkopf.kt @@ -49,5 +49,5 @@ open class Signaturkopf( SicherheitsdatumUndUhrzeit(date, time), HashalgorithmusDatenelementgruppe(), SignaturalgorithmusDatenelementgruppe(algorithm, mode), - Schluesselname(bank.countryCode, bank.bankCodeForOnlineBanking, bank.customerId, Schluesselart.Signierschluessel, keyNumber, keyVersion) + Schluesselname(bank, Schluesselart.Signierschluessel, keyNumber, keyVersion) )) \ No newline at end of file diff --git a/fints4k/src/commonMain/kotlin/net/dankito/banking/fints/messages/segmente/implementierte/Verschluesselungskopf.kt b/fints4k/src/commonMain/kotlin/net/dankito/banking/fints/messages/segmente/implementierte/Verschluesselungskopf.kt index ab3f1d43..3cca90cb 100644 --- a/fints4k/src/commonMain/kotlin/net/dankito/banking/fints/messages/segmente/implementierte/Verschluesselungskopf.kt +++ b/fints4k/src/commonMain/kotlin/net/dankito/banking/fints/messages/segmente/implementierte/Verschluesselungskopf.kt @@ -52,7 +52,7 @@ open class Verschluesselungskopf( SicherheitsidentifikationDetails(bank.customerSystemId), SicherheitsdatumUndUhrzeit(date, time), VerschluesselungsalgorithmusDatenelementgruppe(mode, encryptionAlgorithm), - Schluesselname(bank.countryCode, bank.bankCodeForOnlineBanking, bank.customerId, key, keyNumber, keyVersion), + Schluesselname(bank, key, keyNumber, keyVersion), KomprimierungsfunktionDatenelement(algorithm), NotAllowedDatenelement() // Certificate not applicapable for PIN/TAN )) \ No newline at end of file diff --git a/fints4k/src/commonTest/kotlin/net/dankito/banking/fints/messages/segmente/implementierte/IdentifikationsSegmentTest.kt b/fints4k/src/commonTest/kotlin/net/dankito/banking/fints/messages/segmente/implementierte/IdentifikationsSegmentTest.kt index 98981256..bcdc2d03 100644 --- a/fints4k/src/commonTest/kotlin/net/dankito/banking/fints/messages/segmente/implementierte/IdentifikationsSegmentTest.kt +++ b/fints4k/src/commonTest/kotlin/net/dankito/banking/fints/messages/segmente/implementierte/IdentifikationsSegmentTest.kt @@ -13,7 +13,7 @@ class IdentifikationsSegmentTest : FinTsTestBase() { fun format() { // given - val underTest = IdentifikationsSegment(2, MessageBaseData(Bank, Product)) + val underTest = IdentifikationsSegment(2, Bank) // when val result = underTest.format()