lib-fints 1.4.7 → 1.4.8

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/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Lib-FinTS
4
4
 
5
- A Typescript/Javascript client library for Online-Banking via the FinTS 3.0 protocol with PIN/TAN, supporting PSD2 and decoupled TAN methods. The library has no dependencies on other libraries
5
+ A Typescript/Javascript client library for Online-Banking via the FinTS 3.0 protocol with PIN/TAN, supporting PSD2 and decoupled TAN methods.
6
6
 
7
7
  ## Getting Started
8
8
 
package/dist/dialog.js CHANGED
@@ -143,6 +143,7 @@ export class Dialog {
143
143
  header: { segId: HKTAN.Id, segNr: 0, version: tanMethod?.version ?? 0 },
144
144
  tanProcess: TanProcess.Process4,
145
145
  segId: this.currentInteraction.segId,
146
+ tanMedia: this.getTanMediaName(),
146
147
  };
147
148
  message.addSegment(hktan);
148
149
  }
@@ -163,15 +164,22 @@ export class Dialog {
163
164
  segId: this.currentInteraction.segId,
164
165
  orderRef: tanOrderReference,
165
166
  nextTan: false,
166
- tanMedia: (this.config.selectedTanMethod?.tanMediaRequirement ??
167
- TanMediaRequirement.NotAllowed >= TanMediaRequirement.Optional)
168
- ? this.config.tanMediaName
169
- : undefined,
167
+ tanMedia: this.getTanMediaName(),
170
168
  };
171
169
  message.addSegment(hktan);
172
170
  }
173
171
  return message;
174
172
  }
173
+ getTanMediaName() {
174
+ const requirement = this.config.selectedTanMethod?.tanMediaRequirement ?? TanMediaRequirement.NotAllowed;
175
+ if (requirement === TanMediaRequirement.NotAllowed) {
176
+ return undefined;
177
+ }
178
+ if (requirement === TanMediaRequirement.Required) {
179
+ return this.config.tanMediaName ?? 'default';
180
+ }
181
+ return this.config.tanMediaName;
182
+ }
175
183
  async handlePartedMessages(message, responseMessage, interaction) {
176
184
  let partedSegment = responseMessage.findSegment(PARTED.Id);
177
185
  if (partedSegment) {
@@ -143,7 +143,9 @@ export class InitDialogInteraction extends CustomerInteraction {
143
143
  const hiupa = response.findSegment(HIUPA.Id);
144
144
  if (hiupa) {
145
145
  const hiupds = response.findAllSegments(HIUPD.Id);
146
- const accounts = hiupds.map((upd) => {
146
+ const accounts = hiupds
147
+ .filter((upd) => upd.account)
148
+ .map((upd) => {
147
149
  return {
148
150
  accountNumber: upd.account.accountNumber,
149
151
  subAccountId: upd.account.subAccountId,
@@ -3,8 +3,8 @@ import { Dat } from '../dataElements/Dat.js';
3
3
  import { Numeric } from '../dataElements/Numeric.js';
4
4
  import { Text } from '../dataElements/Text.js';
5
5
  import { YesNo } from '../dataElements/YesNo.js';
6
- import { CamtAccountGroup } from '../dataGroups/CamtAccount.js';
7
6
  import { DataGroup } from '../dataGroups/DataGroup.js';
7
+ import { InternationalAccountGroup, } from '../dataGroups/InternationalAccount.js';
8
8
  import { SegmentDefinition } from '../segmentDefinition.js';
9
9
  /**
10
10
  * Request account transactions in a given period (CAMT format)
@@ -17,7 +17,7 @@ export class HKCAZ extends SegmentDefinition {
17
17
  }
18
18
  version = HKCAZ.Version;
19
19
  elements = [
20
- new CamtAccountGroup('account', 1, 1),
20
+ new InternationalAccountGroup('account', 1, 1),
21
21
  new DataGroup('acceptedCamtFormats', [new Text('camtFormat', 1, 99)], 1, 1), // Support multiple camt-formats
22
22
  new YesNo('allAccounts', 1, 1),
23
23
  new Dat('from', 0, 1),
@@ -18,6 +18,7 @@ export declare class Dialog {
18
18
  addCustomerInteraction(interaction: CustomerInteraction, afterCurrent?: boolean): void;
19
19
  private createCurrentCustomerMessage;
20
20
  private createCurrentTanMessage;
21
+ private getTanMediaName;
21
22
  private handlePartedMessages;
22
23
  private checkEnded;
23
24
  private getHttpClient;
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../src/dialog.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACN,KAAK,cAAc,EACnB,KAAK,mBAAmB,EAExB,MAAM,uCAAuC,CAAC;AAW/C,qBAAa,MAAM;IAWV,MAAM,EAAE,WAAW;IAV3B,QAAQ,EAAE,MAAM,CAAO;IACvB,iBAAiB,SAAK;IACtB,YAAY,EAAE,mBAAmB,EAAE,CAAM;IACzC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAa;IACnD,uBAAuB,SAAK;IAC5B,aAAa,UAAS;IACtB,QAAQ,UAAS;IACjB,UAAU,EAAE,UAAU,CAAC;gBAGf,MAAM,EAAE,WAAW,EAC1B,YAAY,GAAE,OAAe;IAc9B,IAAI,kBAAkB,IAAI,mBAAmB,CAE5C;IAEK,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAyC7C,QAAQ,CAAC,iBAAiB,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAmD7F,sBAAsB,CAAC,WAAW,EAAE,mBAAmB,EAAE,YAAY,UAAQ,GAAG,IAAI;IAuBpF,OAAO,CAAC,4BAA4B;IAsDpC,OAAO,CAAC,uBAAuB;YAqCjB,oBAAoB;IAoDlC,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,aAAa;CAGrB"}
1
+ {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../src/dialog.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACN,KAAK,cAAc,EACnB,KAAK,mBAAmB,EAExB,MAAM,uCAAuC,CAAC;AAW/C,qBAAa,MAAM;IAWV,MAAM,EAAE,WAAW;IAV3B,QAAQ,EAAE,MAAM,CAAO;IACvB,iBAAiB,SAAK;IACtB,YAAY,EAAE,mBAAmB,EAAE,CAAM;IACzC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAa;IACnD,uBAAuB,SAAK;IAC5B,aAAa,UAAS;IACtB,QAAQ,UAAS;IACjB,UAAU,EAAE,UAAU,CAAC;gBAGf,MAAM,EAAE,WAAW,EAC1B,YAAY,GAAE,OAAe;IAc9B,IAAI,kBAAkB,IAAI,mBAAmB,CAE5C;IAEK,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAyC7C,QAAQ,CAAC,iBAAiB,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAmD7F,sBAAsB,CAAC,WAAW,EAAE,mBAAmB,EAAE,YAAY,UAAQ,GAAG,IAAI;IAuBpF,OAAO,CAAC,4BAA4B;IAuDpC,OAAO,CAAC,uBAAuB;IAiC/B,OAAO,CAAC,eAAe;YAeT,oBAAoB;IAoDlC,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,aAAa;CAGrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"initDialogInteraction.d.ts","sourceRoot":"","sources":["../../../src/interactions/initDialogInteraction.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,0BAA0B,CAAC;AAGhF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAgB7C,OAAO,EAAE,KAAK,cAAc,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAIpF,MAAM,WAAW,YAAa,SAAQ,cAAc;IACnD,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACxC;AAED,qBAAa,qBAAsB,SAAQ,mBAAmB;IAErD,MAAM,EAAE,WAAW;IACnB,YAAY;gBADZ,MAAM,EAAE,WAAW,EACnB,YAAY,UAAQ;IAK5B,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,EAAE;IAoC5C,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY;CA0K9D"}
1
+ {"version":3,"file":"initDialogInteraction.d.ts","sourceRoot":"","sources":["../../../src/interactions/initDialogInteraction.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,0BAA0B,CAAC;AAGhF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAgB7C,OAAO,EAAE,KAAK,cAAc,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAIpF,MAAM,WAAW,YAAa,SAAQ,cAAc;IACnD,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACxC;AAED,qBAAa,qBAAsB,SAAQ,mBAAmB;IAErD,MAAM,EAAE,WAAW;IACnB,YAAY;gBADZ,MAAM,EAAE,WAAW,EACnB,YAAY,UAAQ;IAK5B,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,EAAE;IAoC5C,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY;CA4K9D"}
@@ -2,12 +2,12 @@ import { AlphaNumeric } from '../dataElements/AlphaNumeric.js';
2
2
  import { Dat } from '../dataElements/Dat.js';
3
3
  import { Numeric } from '../dataElements/Numeric.js';
4
4
  import { YesNo } from '../dataElements/YesNo.js';
5
- import { type CamtAccount } from '../dataGroups/CamtAccount.js';
6
5
  import { DataGroup } from '../dataGroups/DataGroup.js';
6
+ import { type InternationalAccount } from '../dataGroups/InternationalAccount.js';
7
7
  import type { SegmentWithContinuationMark } from '../segment.js';
8
8
  import { SegmentDefinition } from '../segmentDefinition.js';
9
9
  export type HKCAZSegment = SegmentWithContinuationMark & {
10
- account: CamtAccount;
10
+ account: InternationalAccount;
11
11
  acceptedCamtFormats: string[];
12
12
  allAccounts: boolean;
13
13
  from?: Date;
@@ -1 +1 @@
1
- {"version":3,"file":"HKCAZ.d.ts","sourceRoot":"","sources":["../../../src/segments/HKCAZ.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAErD,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,KAAK,WAAW,EAAoB,MAAM,8BAA8B,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,MAAM,MAAM,YAAY,GAAG,2BAA2B,GAAG;IACxD,OAAO,EAAE,WAAW,CAAC;IACrB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,EAAE,CAAC,EAAE,IAAI,CAAC;IACV,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,qBAAa,KAAM,SAAQ,iBAAiB;IAC3C,MAAM,CAAC,EAAE,SAAW;IACpB,MAAM,CAAC,OAAO,SAAK;;IAInB,OAAO,SAAiB;IACxB,QAAQ,uDAQN;CACF"}
1
+ {"version":3,"file":"HKCAZ.d.ts","sourceRoot":"","sources":["../../../src/segments/HKCAZ.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAErD,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EACN,KAAK,oBAAoB,EAEzB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,MAAM,MAAM,YAAY,GAAG,2BAA2B,GAAG;IACxD,OAAO,EAAE,oBAAoB,CAAC;IAC9B,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,EAAE,CAAC,EAAE,IAAI,CAAC;IACV,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,qBAAa,KAAM,SAAQ,iBAAiB;IAC3C,MAAM,CAAC,EAAE,SAAW;IACpB,MAAM,CAAC,OAAO,SAAK;;IAInB,OAAO,SAAiB;IACxB,QAAQ,uDAQN;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lib-fints",
3
- "version": "1.4.7",
3
+ "version": "1.4.8",
4
4
  "description": "Typescript/Javascript client library for Online-Banking via the FinTS 3.0 protocol with PIN/TAN",
5
5
  "engines": {
6
6
  "node": ">=18.0.0"
@@ -36,15 +36,15 @@
36
36
  "license": "LGPL-2.1-or-later",
37
37
  "repository": {
38
38
  "type": "git",
39
- "url": "https://github.com/robocode13/lib-fints.git"
39
+ "url": "git+https://github.com/robocode13/lib-fints.git"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@biomejs/biome": "2.3.10",
43
- "@types/node": "^20.19.30",
43
+ "@types/node": "^20.19.41",
44
44
  "typescript": "^5.9.3",
45
- "vitest": "^4.0.17"
45
+ "vitest": "^4.0.18"
46
46
  },
47
47
  "dependencies": {
48
- "fast-xml-parser": "^5.3.3"
48
+ "fast-xml-parser": "^5.8.0"
49
49
  }
50
50
  }
@@ -1,7 +0,0 @@
1
- import { AlphaNumeric } from '../dataElements/AlphaNumeric.js';
2
- import { DataGroup } from './DataGroup.js';
3
- export class CamtAccountGroup extends DataGroup {
4
- constructor(name, minCount = 0, maxCount = 1, minVersion, maxVersion) {
5
- super(name, [new AlphaNumeric('iban', 0, 1, 34), new AlphaNumeric('bic', 0, 1, 11)], minCount, maxCount, minVersion, maxVersion);
6
- }
7
- }
@@ -1,9 +0,0 @@
1
- import { DataGroup } from './DataGroup.js';
2
- export type CamtAccount = {
3
- iban?: string;
4
- bic?: string;
5
- };
6
- export declare class CamtAccountGroup extends DataGroup {
7
- constructor(name: string, minCount?: number, maxCount?: number, minVersion?: number, maxVersion?: number);
8
- }
9
- //# sourceMappingURL=CamtAccount.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CamtAccount.d.ts","sourceRoot":"","sources":["../../../src/dataGroups/CamtAccount.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,MAAM,WAAW,GAAG;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,qBAAa,gBAAiB,SAAQ,SAAS;gBAClC,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAI,EAAE,QAAQ,SAAI,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;CAU9F"}