@coderoftime/fints 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +142 -1
- package/README.md +127 -37
- package/dist/client.d.ts +48 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +199 -0
- package/dist/client.js.map +1 -0
- package/dist/core/account.d.ts +35 -7
- package/dist/core/account.d.ts.map +1 -1
- package/dist/core/account.js +84 -13
- package/dist/core/account.js.map +1 -1
- package/dist/core/amount.d.ts +2 -1
- package/dist/core/amount.d.ts.map +1 -1
- package/dist/core/amount.js +4 -1
- package/dist/core/amount.js.map +1 -1
- package/dist/core/balance.d.ts +1 -0
- package/dist/core/balance.d.ts.map +1 -1
- package/dist/core/balance.js +6 -5
- package/dist/core/balance.js.map +1 -1
- package/dist/core/bank-info.d.ts +1 -1
- package/dist/core/bank-info.js +1 -1
- package/dist/core/client.d.ts +50 -15
- package/dist/core/client.d.ts.map +1 -1
- package/dist/core/config.d.ts +28 -16
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +66 -26
- package/dist/core/config.js.map +1 -1
- package/dist/core/errors.d.ts +85 -23
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js +112 -47
- package/dist/core/errors.js.map +1 -1
- package/dist/core/feedback.d.ts +4 -1
- package/dist/core/feedback.d.ts.map +1 -1
- package/dist/core/feedback.js +4 -1
- package/dist/core/feedback.js.map +1 -1
- package/dist/core/transaction.d.ts +6 -1
- package/dist/core/transaction.d.ts.map +1 -1
- package/dist/core/transaction.js +9 -4
- package/dist/core/transaction.js.map +1 -1
- package/dist/core/transport.d.ts +33 -6
- package/dist/core/transport.d.ts.map +1 -1
- package/dist/core/transport.js +77 -20
- package/dist/core/transport.js.map +1 -1
- package/dist/formats/camt.d.ts +24 -4
- package/dist/formats/camt.d.ts.map +1 -1
- package/dist/formats/camt.js +124 -41
- package/dist/formats/camt.js.map +1 -1
- package/dist/formats/mt940.d.ts +15 -3
- package/dist/formats/mt940.d.ts.map +1 -1
- package/dist/formats/mt940.js +161 -82
- package/dist/formats/mt940.js.map +1 -1
- package/dist/formats/readers.d.ts +6 -2
- package/dist/formats/readers.d.ts.map +1 -1
- package/dist/formats/readers.js +24 -29
- package/dist/formats/readers.js.map +1 -1
- package/dist/formats/record-budget.d.ts +7 -0
- package/dist/formats/record-budget.d.ts.map +1 -0
- package/dist/formats/record-budget.js +17 -0
- package/dist/formats/record-budget.js.map +1 -0
- package/dist/formats/sepa-purpose.d.ts +6 -0
- package/dist/formats/sepa-purpose.d.ts.map +1 -1
- package/dist/formats/sepa-purpose.js +23 -2
- package/dist/formats/sepa-purpose.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/session/app-approval.d.ts +11 -5
- package/dist/session/app-approval.d.ts.map +1 -1
- package/dist/session/app-approval.js +23 -12
- package/dist/session/app-approval.js.map +1 -1
- package/dist/session/dialog-runner.d.ts +7 -10
- package/dist/session/dialog-runner.d.ts.map +1 -1
- package/dist/session/dialog-runner.js +15 -16
- package/dist/session/dialog-runner.js.map +1 -1
- package/dist/session/login-guard.d.ts +54 -49
- package/dist/session/login-guard.d.ts.map +1 -1
- package/dist/session/login-guard.js +156 -84
- package/dist/session/login-guard.js.map +1 -1
- package/dist/session/sepa-accounts.d.ts +20 -14
- package/dist/session/sepa-accounts.d.ts.map +1 -1
- package/dist/session/sepa-accounts.js +62 -46
- package/dist/session/sepa-accounts.js.map +1 -1
- package/dist/session/session-setup.d.ts +33 -25
- package/dist/session/session-setup.d.ts.map +1 -1
- package/dist/session/session-setup.js +87 -65
- package/dist/session/session-setup.js.map +1 -1
- package/dist/session/session-state.d.ts +9 -6
- package/dist/session/session-state.d.ts.map +1 -1
- package/dist/session/session-state.js +52 -17
- package/dist/session/session-state.js.map +1 -1
- package/dist/session/signed-dialog.d.ts +77 -0
- package/dist/session/signed-dialog.d.ts.map +1 -0
- package/dist/session/signed-dialog.js +170 -0
- package/dist/session/signed-dialog.js.map +1 -0
- package/dist/session/tan-selection.d.ts +26 -18
- package/dist/session/tan-selection.d.ts.map +1 -1
- package/dist/session/tan-selection.js +44 -33
- package/dist/session/tan-selection.js.map +1 -1
- package/dist/session/user-prompts.d.ts +8 -4
- package/dist/session/user-prompts.d.ts.map +1 -1
- package/dist/session/user-prompts.js +34 -14
- package/dist/session/user-prompts.js.map +1 -1
- package/dist/tan/challenge.d.ts +34 -13
- package/dist/tan/challenge.d.ts.map +1 -1
- package/dist/tan/challenge.js +25 -26
- package/dist/tan/challenge.js.map +1 -1
- package/dist/tan/flicker.d.ts +7 -1
- package/dist/tan/flicker.d.ts.map +1 -1
- package/dist/tan/flicker.js +40 -6
- package/dist/tan/flicker.js.map +1 -1
- package/dist/tan/tan-image.d.ts +3 -2
- package/dist/tan/tan-image.d.ts.map +1 -1
- package/dist/tan/tan-image.js +7 -5
- package/dist/tan/tan-image.js.map +1 -1
- package/dist/tan/tan-models.d.ts +5 -1
- package/dist/tan/tan-models.d.ts.map +1 -1
- package/dist/tan/tan-models.js +10 -5
- package/dist/tan/tan-models.js.map +1 -1
- package/dist/util/async.d.ts +0 -2
- package/dist/util/async.d.ts.map +1 -1
- package/dist/util/async.js +0 -4
- package/dist/util/async.js.map +1 -1
- package/dist/util/bytes.d.ts +2 -3
- package/dist/util/bytes.d.ts.map +1 -1
- package/dist/util/bytes.js +12 -20
- package/dist/util/bytes.js.map +1 -1
- package/dist/util/call-context.d.ts.map +1 -1
- package/dist/util/call-context.js +3 -2
- package/dist/util/call-context.js.map +1 -1
- package/dist/util/dates.d.ts +9 -16
- package/dist/util/dates.d.ts.map +1 -1
- package/dist/util/dates.js +39 -19
- package/dist/util/dates.js.map +1 -1
- package/dist/util/errors.d.ts +9 -1
- package/dist/util/errors.d.ts.map +1 -1
- package/dist/util/errors.js +12 -3
- package/dist/util/errors.js.map +1 -1
- package/dist/util/json.d.ts +4 -0
- package/dist/util/json.d.ts.map +1 -1
- package/dist/util/json.js +18 -0
- package/dist/util/json.js.map +1 -1
- package/dist/util/text.d.ts +21 -4
- package/dist/util/text.d.ts.map +1 -1
- package/dist/util/text.js +42 -13
- package/dist/util/text.js.map +1 -1
- package/dist/util/xml.d.ts +4 -3
- package/dist/util/xml.d.ts.map +1 -1
- package/dist/util/xml.js +37 -26
- package/dist/util/xml.js.map +1 -1
- package/dist/v3/account-extension.d.ts.map +1 -1
- package/dist/v3/account-extension.js +7 -10
- package/dist/v3/account-extension.js.map +1 -1
- package/dist/v3/bank-connection.d.ts +34 -0
- package/dist/v3/bank-connection.d.ts.map +1 -0
- package/dist/v3/bank-connection.js +58 -0
- package/dist/v3/bank-connection.js.map +1 -0
- package/dist/v3/dialog.d.ts +80 -46
- package/dist/v3/dialog.d.ts.map +1 -1
- package/dist/v3/dialog.js +162 -59
- package/dist/v3/dialog.js.map +1 -1
- package/dist/v3/message.d.ts +17 -4
- package/dist/v3/message.d.ts.map +1 -1
- package/dist/v3/message.js +62 -18
- package/dist/v3/message.js.map +1 -1
- package/dist/v3/parameter-store.d.ts +75 -0
- package/dist/v3/parameter-store.d.ts.map +1 -0
- package/dist/v3/parameter-store.js +143 -0
- package/dist/v3/parameter-store.js.map +1 -0
- package/dist/v3/parameters.d.ts +38 -12
- package/dist/v3/parameters.d.ts.map +1 -1
- package/dist/v3/parameters.js +91 -37
- package/dist/v3/parameters.js.map +1 -1
- package/dist/v3/protocol.d.ts +43 -50
- package/dist/v3/protocol.d.ts.map +1 -1
- package/dist/v3/protocol.js +58 -208
- package/dist/v3/protocol.js.map +1 -1
- package/dist/v3/queries.d.ts +51 -0
- package/dist/v3/queries.d.ts.map +1 -0
- package/dist/v3/queries.js +120 -0
- package/dist/v3/queries.js.map +1 -0
- package/dist/v3/segments.d.ts +29 -12
- package/dist/v3/segments.d.ts.map +1 -1
- package/dist/v3/segments.js +65 -23
- package/dist/v3/segments.js.map +1 -1
- package/dist/v3/syntax.d.ts +65 -14
- package/dist/v3/syntax.d.ts.map +1 -1
- package/dist/v3/syntax.js +167 -101
- package/dist/v3/syntax.js.map +1 -1
- package/package.json +10 -6
- package/src/client.ts +252 -0
- package/src/core/account.ts +86 -13
- package/src/core/amount.ts +3 -1
- package/src/core/balance.ts +6 -5
- package/src/core/bank-info.ts +1 -1
- package/src/core/client.ts +52 -15
- package/src/core/config.ts +69 -28
- package/src/core/errors.ts +122 -48
- package/src/core/feedback.ts +4 -1
- package/src/core/transaction.ts +9 -4
- package/src/core/transport.ts +98 -23
- package/src/formats/camt.ts +136 -39
- package/src/formats/mt940.ts +167 -81
- package/src/formats/readers.ts +24 -31
- package/src/formats/record-budget.ts +18 -0
- package/src/formats/sepa-purpose.ts +21 -2
- package/src/index.ts +4 -2
- package/src/session/app-approval.ts +51 -38
- package/src/session/dialog-runner.ts +31 -28
- package/src/session/login-guard.ts +174 -88
- package/src/session/sepa-accounts.ts +63 -45
- package/src/session/session-setup.ts +90 -71
- package/src/session/session-state.ts +56 -22
- package/src/session/signed-dialog.ts +192 -0
- package/src/session/tan-selection.ts +50 -39
- package/src/session/user-prompts.ts +35 -16
- package/src/tan/challenge.ts +40 -31
- package/src/tan/flicker.ts +44 -6
- package/src/tan/tan-image.ts +7 -5
- package/src/tan/tan-models.ts +10 -5
- package/src/util/async.ts +0 -5
- package/src/util/bytes.ts +13 -19
- package/src/util/call-context.ts +3 -2
- package/src/util/dates.ts +41 -24
- package/src/util/errors.ts +14 -3
- package/src/util/json.ts +16 -0
- package/src/util/text.ts +42 -12
- package/src/util/xml.ts +37 -26
- package/src/v3/account-extension.ts +7 -12
- package/src/v3/bank-connection.ts +67 -0
- package/src/v3/dialog.ts +175 -91
- package/src/v3/message.ts +69 -17
- package/src/v3/parameter-store.ts +160 -0
- package/src/v3/parameters.ts +110 -37
- package/src/v3/protocol.ts +70 -253
- package/src/v3/queries.ts +190 -0
- package/src/v3/segments.ts +65 -22
- package/src/v3/syntax.ts +153 -91
- package/dist/session/bank-connection.d.ts +0 -28
- package/dist/session/bank-connection.d.ts.map +0 -1
- package/dist/session/bank-connection.js +0 -48
- package/dist/session/bank-connection.js.map +0 -1
- package/dist/session/parameter-data.d.ts +0 -83
- package/dist/session/parameter-data.d.ts.map +0 -1
- package/dist/session/parameter-data.js +0 -68
- package/dist/session/parameter-data.js.map +0 -1
- package/dist/session/pin-tan-client.d.ts +0 -54
- package/dist/session/pin-tan-client.d.ts.map +0 -1
- package/dist/session/pin-tan-client.js +0 -153
- package/dist/session/pin-tan-client.js.map +0 -1
- package/dist/session/pin-tan-dialog.d.ts +0 -71
- package/dist/session/pin-tan-dialog.d.ts.map +0 -1
- package/dist/session/pin-tan-dialog.js +0 -124
- package/dist/session/pin-tan-dialog.js.map +0 -1
- package/dist/session/protocol.d.ts +0 -209
- package/dist/session/protocol.d.ts.map +0 -1
- package/dist/session/protocol.js +0 -75
- package/dist/session/protocol.js.map +0 -1
- package/dist/session/response-handler.d.ts +0 -48
- package/dist/session/response-handler.d.ts.map +0 -1
- package/dist/session/response-handler.js +0 -121
- package/dist/session/response-handler.js.map +0 -1
- package/dist/v3/client.d.ts +0 -24
- package/dist/v3/client.d.ts.map +0 -1
- package/dist/v3/client.js +0 -16
- package/dist/v3/client.js.map +0 -1
- package/src/session/bank-connection.ts +0 -51
- package/src/session/parameter-data.ts +0 -137
- package/src/session/pin-tan-client.ts +0 -186
- package/src/session/pin-tan-dialog.ts +0 -160
- package/src/session/protocol.ts +0 -311
- package/src/session/response-handler.ts +0 -130
- package/src/v3/client.ts +0 -29
package/dist/v3/parameters.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
// Internal to the package, and named after the FinTS specification. Documentation is where the meaning is not evident.
|
|
2
2
|
import { Account } from '../core/account.js';
|
|
3
3
|
import { BankInfo } from '../core/bank-info.js';
|
|
4
|
-
import {
|
|
4
|
+
import { FinTsProtocolError } from '../core/errors.js';
|
|
5
5
|
import { TanMethod, tanMediumRequirementOf } from '../tan/tan-models.js';
|
|
6
|
-
import { base64Decode, base64Encode,
|
|
7
|
-
import { tryParseInt } from '../util/text.js';
|
|
6
|
+
import { base64Decode, base64Encode, concatBytes } from '../util/bytes.js';
|
|
7
|
+
import { nonBlank, tryParseInt } from '../util/text.js';
|
|
8
8
|
import { AccountExtension } from './account-extension.js';
|
|
9
9
|
import { parseSegments } from './syntax.js';
|
|
10
10
|
/** Positions of the data elements in the header of the bank parameter data (HIBPA), after the segment header. */
|
|
@@ -29,13 +29,21 @@ const hikomStandardLanguage = 2;
|
|
|
29
29
|
function defined(values) {
|
|
30
30
|
return values.filter((v) => v !== undefined);
|
|
31
31
|
}
|
|
32
|
+
/** `bpd`, or `FinTsProtocolError` if the bank has not sent its parameter data yet. */
|
|
33
|
+
export function requireBankParameters(bpd) {
|
|
34
|
+
if (bpd === undefined)
|
|
35
|
+
throw new FinTsProtocolError('No bank parameter data available');
|
|
36
|
+
return bpd;
|
|
37
|
+
}
|
|
32
38
|
/** FinTS 3.0 bank parameter data (BPD): HIBPA and the parameter segments (`HI…S`), parsed once. */
|
|
33
39
|
export class Bpd3 {
|
|
34
40
|
segments;
|
|
35
41
|
bankInfo;
|
|
36
42
|
/** The two-step TAN methods of HITANS versions 6 and 7, by security function. */
|
|
37
43
|
offeredMethods;
|
|
44
|
+
/** Two-step TAN methods the bank offers and the client can run. */
|
|
38
45
|
tanMethods;
|
|
46
|
+
/** Security functions of the two-step methods the bank offers in a form the client cannot run. */
|
|
39
47
|
unsupportedTanMethods;
|
|
40
48
|
pinTan;
|
|
41
49
|
/** camt formats the bank offers for HKCAZ. */
|
|
@@ -47,6 +55,7 @@ export class Bpd3 {
|
|
|
47
55
|
* these may be sent once the parameter data are known; `0`, the default, only before (Formals C.3.1.3).
|
|
48
56
|
*/
|
|
49
57
|
dialogLanguage;
|
|
58
|
+
encodedValue;
|
|
50
59
|
constructor(segments, hibpa, fallbackBankCode) {
|
|
51
60
|
this.segments = segments;
|
|
52
61
|
this.bankInfo = new BankInfo({
|
|
@@ -71,14 +80,13 @@ export class Bpd3 {
|
|
|
71
80
|
this.versions = versionsByType(segments);
|
|
72
81
|
this.dialogLanguage = dialogLanguageOf(segments, this.bankInfo);
|
|
73
82
|
}
|
|
83
|
+
/** The version of the parameter data, which the client reports back so that the bank sends newer ones only. */
|
|
74
84
|
get version() {
|
|
75
85
|
return this.bankInfo.bpdVersion;
|
|
76
86
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
allowsWithPinTan(transaction) {
|
|
81
|
-
return this.pinTan.allowsWithPinTan(transaction);
|
|
87
|
+
/** The segments as the saved state keeps them, encoded once. */
|
|
88
|
+
get encoded() {
|
|
89
|
+
return (this.encodedValue ??= encodeSegments(this.segments));
|
|
82
90
|
}
|
|
83
91
|
/** The BPD in `all`, or `undefined` if they contain no HIBPA segment. */
|
|
84
92
|
static fromSegments(all, fallbackBankCode) {
|
|
@@ -90,8 +98,14 @@ export class Bpd3 {
|
|
|
90
98
|
static parameterName(transaction) {
|
|
91
99
|
return `HI${transaction.substring(2)}S`;
|
|
92
100
|
}
|
|
101
|
+
/** The highest version of `transaction` that the bank offers and the client `implemented`. */
|
|
93
102
|
bestVersion(transaction, implemented) {
|
|
94
|
-
|
|
103
|
+
let best;
|
|
104
|
+
for (const version of this.versions.get(Bpd3.parameterName(transaction)) ?? []) {
|
|
105
|
+
if (implemented.has(version) && (best === undefined || version > best))
|
|
106
|
+
best = version;
|
|
107
|
+
}
|
|
108
|
+
return best;
|
|
95
109
|
}
|
|
96
110
|
/** The version of the HKTAN segments that go with `method`; `undefined` for a method the bank does not offer. */
|
|
97
111
|
tanVersion(method) {
|
|
@@ -254,7 +268,8 @@ export class PinTanParameters {
|
|
|
254
268
|
return this.tanRequired.size === 0 || this.tanRequired.has(segmentType);
|
|
255
269
|
}
|
|
256
270
|
}
|
|
257
|
-
/** The version and the usage ("UPD-Verwendung") of the user parameter data in HIUPA. */
|
|
271
|
+
/** The user ID (Benutzerkennung), the version and the usage ("UPD-Verwendung") of the user parameter data in HIUPA. */
|
|
272
|
+
const hiupaUserId = 1;
|
|
258
273
|
const hiupaVersion = 2;
|
|
259
274
|
const hiupaUsage = 3;
|
|
260
275
|
/** Business transaction codes such as `HKSAL` or `DKPAE`. */
|
|
@@ -262,26 +277,41 @@ const transactionCode = /^[A-Z]{4,6}$/;
|
|
|
262
277
|
/** FinTS 3.0 user parameter data (UPD): HIUPA and the accounts (HIUPD), parsed once. */
|
|
263
278
|
export class Upd3 {
|
|
264
279
|
segments;
|
|
280
|
+
/** The user the bank sent them for; `undefined` where it names none. */
|
|
281
|
+
userId;
|
|
282
|
+
/** The version of the parameter data, which the client reports back so that the bank sends newer ones only. */
|
|
265
283
|
version;
|
|
284
|
+
/**
|
|
285
|
+
* Whether the lists of permitted transactions are complete: the bank permits nothing they leave out ("UPD-Verwendung"
|
|
286
|
+
* 0).
|
|
287
|
+
*/
|
|
266
288
|
listsAllTransactions;
|
|
289
|
+
/** The transactions any entry lists as permitted, with or without an account. */
|
|
267
290
|
listedTransactions;
|
|
268
291
|
/** The accounts with the extension each carries, where it does. */
|
|
269
292
|
entries;
|
|
293
|
+
/** The accounts the user may access. */
|
|
270
294
|
accounts;
|
|
295
|
+
encodedValue;
|
|
271
296
|
/** `listsAll` tells whether HIUPA declares the lists of permitted transactions complete ("UPD-Verwendung" 0). */
|
|
272
297
|
constructor(segments, hiupa, listsAll, defaultBankCode, defaultCountry) {
|
|
273
298
|
this.segments = segments;
|
|
274
299
|
const hiupds = segments.filter((s) => s.type === 'HIUPD');
|
|
300
|
+
this.userId = hiupa.text(hiupaUserId)?.trim();
|
|
275
301
|
this.version = hiupa.integer(hiupaVersion) ?? 0;
|
|
276
302
|
this.listsAllTransactions = listsAll;
|
|
277
303
|
this.listedTransactions = new Set(hiupds.flatMap(transactionsOf));
|
|
278
304
|
this.entries = Object.freeze(hiupds.map((s) => entryOf(s, defaultBankCode, defaultCountry, listsAll)).filter((e) => e !== undefined));
|
|
279
305
|
this.accounts = Object.freeze(this.entries.map((e) => e.account));
|
|
280
306
|
}
|
|
281
|
-
/**
|
|
282
|
-
get
|
|
283
|
-
return
|
|
307
|
+
/** The segments as the saved state keeps them, encoded once. */
|
|
308
|
+
get encoded() {
|
|
309
|
+
return (this.encodedValue ??= encodeSegments(this.segments));
|
|
284
310
|
}
|
|
311
|
+
/**
|
|
312
|
+
* The balance of `account` the user parameter data carry, where it holds all a balance query would deliver, so that
|
|
313
|
+
* the client asks for none (Formals E.3.1, F.3.2); `undefined` otherwise.
|
|
314
|
+
*/
|
|
285
315
|
completeBalance(account) {
|
|
286
316
|
return this.entries.find((e) => e.account.matches(account))?.extension?.completeBalance(account);
|
|
287
317
|
}
|
|
@@ -341,21 +371,8 @@ function entryOf(s, defaultBankCode, defaultCountry, listsAll) {
|
|
|
341
371
|
}
|
|
342
372
|
function accountOf(s, defaultBankCode, defaultCountry, listsAll) {
|
|
343
373
|
const version = s.version;
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
let subAccount;
|
|
347
|
-
let country;
|
|
348
|
-
let bank;
|
|
349
|
-
if (nationalAccount.length >= 4) {
|
|
350
|
-
[number, subAccount, country, bank] = nationalAccount;
|
|
351
|
-
}
|
|
352
|
-
else if (nationalAccount.length === 3) {
|
|
353
|
-
// Older banks leave out the sub-account.
|
|
354
|
-
[number, country, bank] = nationalAccount;
|
|
355
|
-
}
|
|
356
|
-
else if (nationalAccount.length > 0) {
|
|
357
|
-
number = nationalAccount[0];
|
|
358
|
-
}
|
|
374
|
+
// Every version names the account as KTV2, by position: a sub-account or bank code the bank leaves out is empty.
|
|
375
|
+
const [number, subAccount, country, bank] = s.texts(1);
|
|
359
376
|
const iban = version >= 6 ? s.text(2) : undefined;
|
|
360
377
|
if (number === undefined && iban === undefined)
|
|
361
378
|
return undefined;
|
|
@@ -365,9 +382,6 @@ function accountOf(s, defaultBankCode, defaultCountry, listsAll) {
|
|
|
365
382
|
: version === 5
|
|
366
383
|
? { customer: 2, type: 3, currency: 4, name1: 5, name2: 6, product: 7 }
|
|
367
384
|
: { customer: 2, type: undefined, currency: 3, name1: 4, name2: 5, product: 6 };
|
|
368
|
-
const owner = defined([s.text(fields.name1), s.text(fields.name2)])
|
|
369
|
-
.join(' ')
|
|
370
|
-
.trim();
|
|
371
385
|
return new Account({
|
|
372
386
|
accountNumber: number,
|
|
373
387
|
subAccount,
|
|
@@ -377,18 +391,58 @@ function accountOf(s, defaultBankCode, defaultCountry, listsAll) {
|
|
|
377
391
|
customerId: s.text(fields.customer),
|
|
378
392
|
typeCode: fields.type === undefined ? undefined : s.integer(fields.type),
|
|
379
393
|
currency: s.text(fields.currency),
|
|
380
|
-
ownerName:
|
|
394
|
+
ownerName: nonBlank(defined([s.text(fields.name1), s.text(fields.name2)]).join(' ')),
|
|
381
395
|
productName: s.text(fields.product),
|
|
382
396
|
allowedTransactions: transactionsOf(s),
|
|
383
397
|
allowedTransactionsComplete: listsAll,
|
|
384
398
|
});
|
|
385
399
|
}
|
|
400
|
+
/**
|
|
401
|
+
* The version of `transaction` to send, for `account` where it concerns one: the highest the bank offers and the client
|
|
402
|
+
* `implemented`. `undefined` where there is none, or the parameter data do not permit the transaction
|
|
403
|
+
* (`permitsTransaction`).
|
|
404
|
+
*/
|
|
405
|
+
export function offeredVersion(bpd, upd, transaction, implemented, options) {
|
|
406
|
+
return permitsTransaction(bpd, upd, transaction, options) ? bpd?.bestVersion(transaction, implemented) : undefined;
|
|
407
|
+
}
|
|
408
|
+
/**
|
|
409
|
+
* Whether the parameter data let the user send `transaction`, for `account` where it concerns one: the bank allows it
|
|
410
|
+
* with PIN/TAN, and the user parameter data permit it (Formals E.1, F.3.4; PIN/TAN B.1, B.8.1).
|
|
411
|
+
*
|
|
412
|
+
* - `account`, which the session has taken as the bank knows it (`SepaAccounts.complete`), permits what it lists, and
|
|
413
|
+
* anything else only where its list is incomplete ("UPD-Verwendung" 1). One only the SEPA account list names lists
|
|
414
|
+
* nothing, and so permits anything; where the lists are complete, the session refuses one the bank names nowhere.
|
|
415
|
+
* - A transaction without account, such as the TAN media list, is permitted where some entry lists it or the lists are
|
|
416
|
+
* incomplete.
|
|
417
|
+
* - One that `requiresEntry`, the SEPA account list, must be listed even where the lists are incomplete (Formals F.3.4),
|
|
418
|
+
* unless they list nothing at all, which tells nothing.
|
|
419
|
+
*/
|
|
420
|
+
function permitsTransaction(bpd, upd, transaction, options) {
|
|
421
|
+
if (bpd !== undefined && !bpd.pinTan.allowsWithPinTan(transaction))
|
|
422
|
+
return false;
|
|
423
|
+
if (upd === undefined)
|
|
424
|
+
return true;
|
|
425
|
+
if (options.account !== undefined)
|
|
426
|
+
return allows(options.account, transaction);
|
|
427
|
+
const listed = upd.listedTransactions;
|
|
428
|
+
if (listed.has(transaction))
|
|
429
|
+
return true;
|
|
430
|
+
return !upd.listsAllTransactions && (!(options.requiresEntry ?? false) || listed.size === 0);
|
|
431
|
+
}
|
|
432
|
+
/** Whether the bank lists `transaction`, such as `HKCAZ`, as permitted for `account`. */
|
|
433
|
+
export function lists(account, transaction) {
|
|
434
|
+
return account.allowedTransactions.includes(transaction);
|
|
435
|
+
}
|
|
436
|
+
/**
|
|
437
|
+
* Whether the bank may permit `transaction` on `account`: it lists it, or its list is not complete
|
|
438
|
+
* (`Account.allowedTransactionsComplete`), so that only the bank can tell.
|
|
439
|
+
*/
|
|
440
|
+
function allows(account, transaction) {
|
|
441
|
+
return lists(account, transaction) || !account.allowedTransactionsComplete;
|
|
442
|
+
}
|
|
386
443
|
/** Serializes parameter segments for the saved state. */
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
for (const s of segments)
|
|
390
|
-
out.add(s.encode());
|
|
391
|
-
return base64Encode(out.takeBytes());
|
|
444
|
+
function encodeSegments(segments) {
|
|
445
|
+
return base64Encode(concatBytes(segments.map((s) => s.encode())));
|
|
392
446
|
}
|
|
393
447
|
export function decodeSegments(data) {
|
|
394
448
|
return parseSegments(base64Decode(data));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parameters.js","sourceRoot":"","sources":["../../src/v3/parameters.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parameters.js","sourceRoot":"","sources":["../../src/v3/parameters.ts"],"names":[],"mappings":"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"}
|
package/dist/v3/protocol.d.ts
CHANGED
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
import type { Account } from '../core/account.js';
|
|
2
|
-
import type { Balance } from '../core/balance.js';
|
|
3
1
|
import type { MessageLogger } from '../core/client.js';
|
|
4
|
-
import { type FinTsConfig } from '../core/config.js';
|
|
5
|
-
import type { Transaction, TransactionFormat } from '../core/transaction.js';
|
|
6
2
|
import type { FinTsTransport } from '../core/transport.js';
|
|
7
|
-
import {
|
|
8
|
-
import
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
3
|
+
import type { ParameterStore } from './parameter-store.js';
|
|
4
|
+
import type { SegmentSpec } from './syntax.js';
|
|
5
|
+
/** How a message is signed: the security function of the TAN method and the customer system ID. */
|
|
6
|
+
export interface Signing3 {
|
|
7
|
+
readonly securityFunction: string;
|
|
8
|
+
readonly systemId: string;
|
|
9
|
+
}
|
|
10
|
+
/** Hands out the PIN for each message the protocol signs, and so decides whether one may go out. */
|
|
11
|
+
export interface PinGuard {
|
|
12
|
+
/** The PIN to sign a message with; throws instead where none may go out. */
|
|
13
|
+
readonly pin: string;
|
|
14
|
+
/** Counts a login signed with the PIN, the first message of a dialog, before it goes out. */
|
|
15
|
+
loginSent(): void;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Builds, signs and posts FinTS 3.0 messages (HBCI segment syntax, PIN/TAN security) for the user `parameters.config`
|
|
19
|
+
* names, with the parameter data and IDs `parameters` keeps. Every message signed with the PIN takes it from the
|
|
20
|
+
* `PinGuard` (`post`), which keeps it from going out after a refused login.
|
|
21
|
+
*/
|
|
22
|
+
export declare class FinTs3Protocol {
|
|
23
|
+
readonly parameters: ParameterStore;
|
|
24
|
+
private readonly guard;
|
|
25
|
+
private readonly config;
|
|
21
26
|
private readonly connection;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
+
/** Whether the client is closing, so that only dialog ends go out (`beginClose`). */
|
|
28
|
+
private closing;
|
|
29
|
+
constructor(parameters: ParameterStore, guard: PinGuard, transport?: FinTsTransport, logger?: MessageLogger);
|
|
30
|
+
/** Identification (HKIDN) and processing preparation (HKVVB), which open every dialog. */
|
|
31
|
+
initSegments(systemId: string, anonymous?: boolean): SegmentSpec[];
|
|
27
32
|
/**
|
|
28
|
-
*
|
|
29
|
-
*
|
|
33
|
+
* Sends `segments` as message `number` of the dialog `dialogId` and returns the bank's answer, not yet parsed.
|
|
34
|
+
*
|
|
35
|
+
* With `signing` the message is signed with the PIN, which `PinGuard.pin` hands out, and the `tan`; without, it
|
|
36
|
+
* goes out unsigned, as in an anonymous dialog.
|
|
30
37
|
*/
|
|
31
|
-
constructor(config: FinTsConfig, pin: string, transport?: FinTsTransport, logger?: MessageLogger);
|
|
32
|
-
get bankParameters(): Bpd3 | undefined;
|
|
33
|
-
get userParameters(): Upd3 | undefined;
|
|
34
|
-
/** Dialogs cannot start without the customer system ID. */
|
|
35
|
-
get synchronization(): Synchronization;
|
|
36
|
-
forgetSystemId(): boolean;
|
|
37
|
-
initSegments(systemId: string, anonymous?: boolean): SegmentSpec[];
|
|
38
38
|
post(message: {
|
|
39
39
|
dialogId: string;
|
|
40
40
|
number: number;
|
|
@@ -42,27 +42,20 @@ export declare class FinTs3Protocol implements PinTanProtocol<IncomingMessage3,
|
|
|
42
42
|
signing: Signing3 | undefined;
|
|
43
43
|
tan: string | undefined;
|
|
44
44
|
}): Promise<Uint8Array>;
|
|
45
|
-
keepParameterData(response: IncomingMessage3): void;
|
|
46
|
-
private keepBankParameters;
|
|
47
|
-
/** Keeps the bank parameter data of an anonymous dialog, and nothing that belongs to a user. */
|
|
48
|
-
fetchBankParametersAnonymously(): Promise<IncomingMessage3>;
|
|
49
45
|
/**
|
|
50
|
-
*
|
|
51
|
-
* rejects the announcement, with a return code or by failing on it, is asked again without it.
|
|
46
|
+
* The PIN to sign a login with, the first message of a dialog.
|
|
52
47
|
*
|
|
53
|
-
*
|
|
48
|
+
* Throws instead where the guard holds the PIN back (`PinGuard.pin`), or if the bank parameters rule out the PIN's
|
|
49
|
+
* length: the bank would count such a PIN as a failed attempt. The later messages of a dialog, its end included, take
|
|
50
|
+
* the PIN the bank has accepted, whatever the parameter data it delivered since say.
|
|
51
|
+
*/
|
|
52
|
+
private pinForLogin;
|
|
53
|
+
/**
|
|
54
|
+
* Aborts the request on its way, and sends nothing but dialog ends from now on: any other message fails with
|
|
55
|
+
* `FinTsStateError` before it goes out, so that a call under way stops at its next one. The client calls it as soon as
|
|
56
|
+
* it is closed, and `close` once it has ended its dialog.
|
|
54
57
|
*/
|
|
55
|
-
|
|
56
|
-
private anonymousDialog;
|
|
57
|
-
newDialog(method: TanMethod, tanMedium?: string): FinTs3Dialog;
|
|
58
|
-
combine(first: IncomingMessage3, second: IncomingMessage3): IncomingMessage3;
|
|
59
|
-
private version;
|
|
60
|
-
tanMedia(): FinTs3Query<TanMedium[]> | undefined;
|
|
61
|
-
sepaAccounts(): FinTs3Query<Account[]> | undefined;
|
|
62
|
-
balance(account: Account): FinTs3Query<Balance>;
|
|
63
|
-
transactions(account: Account, format: TransactionFormat, from: Date | undefined, to: Date | undefined): FinTs3Query<Transaction[]>;
|
|
64
|
-
saveState(): JsonObject;
|
|
65
|
-
restoreState(saved: JsonObject): void;
|
|
58
|
+
beginClose(): void;
|
|
66
59
|
close(): void;
|
|
67
60
|
}
|
|
68
61
|
//# sourceMappingURL=protocol.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/v3/protocol.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/v3/protocol.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAI3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAK/C,mGAAmG;AACnG,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,oGAAoG;AACpG,MAAM,WAAW,QAAQ;IACvB,4EAA4E;IAC5E,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAErB,6FAA6F;IAC7F,SAAS,IAAI,IAAI,CAAC;CACnB;AAOD;;;;GAIG;AACH,qBAAa,cAAc;IAQvB,QAAQ,CAAC,UAAU,EAAE,cAAc;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK;IARxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;IAE5C,qFAAqF;IACrF,OAAO,CAAC,OAAO,CAAS;gBAGb,UAAU,EAAE,cAAc,EAClB,KAAK,EAAE,QAAQ,EAChC,SAAS,CAAC,EAAE,cAAc,EAC1B,MAAM,CAAC,EAAE,aAAa;IAMxB,0FAA0F;IAC1F,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,UAAQ,GAAG,WAAW,EAAE;IAmBhE;;;;;OAKG;IACG,IAAI,CAAC,OAAO,EAAE;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,SAAS,WAAW,EAAE,CAAC;QACjC,OAAO,EAAE,QAAQ,GAAG,SAAS,CAAC;QAC9B,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;KACzB,GAAG,OAAO,CAAC,UAAU,CAAC;IA8BvB;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IAOnB;;;;OAIG;IACH,UAAU,IAAI,IAAI;IAKlB,KAAK,IAAI,IAAI;CAGd"}
|