@develit-services/bank 2.2.3 → 2.3.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.
@@ -1,12 +1,15 @@
1
1
  'use strict';
2
2
 
3
3
  const backendSdk = require('@develit-io/backend-sdk');
4
+ const sqliteCore = require('drizzle-orm/sqlite-core');
4
5
  const dateFns = require('date-fns');
5
- const generalCodes = require('@develit-io/general-codes');
6
- require('./bank.CIWYI18z.cjs');
7
- require('drizzle-orm');
8
6
  const jose = require('jose');
7
+ const zod = require('zod');
8
+ const generalCodes = require('@develit-io/general-codes');
9
+ const relations = require('drizzle-orm/relations');
10
+ const drizzleOrm = require('drizzle-orm');
9
11
  require('node:crypto');
12
+ const drizzleZod = require('drizzle-zod');
10
13
 
11
14
  function toIncomingPayment(input) {
12
15
  return {
@@ -669,7 +672,8 @@ class FinbricksConnector extends IBankConnector {
669
672
  connectorKey: this.PROVIDER,
670
673
  currency: acc.currency,
671
674
  iban: acc.identification.iban,
672
- id: acc.id
675
+ id: acc.id,
676
+ config: null
673
677
  }))
674
678
  );
675
679
  return {
@@ -1076,6 +1080,40 @@ class CsobConnector extends FinbricksConnector {
1076
1080
  }
1077
1081
  }
1078
1082
 
1083
+ const PAYMENT_TYPES = ["SEPA", "SWIFT", "DOMESTIC", "UNKNOWN"];
1084
+ const CHARGE_BEARERS = ["SHA", "OUR", "BEN"];
1085
+ const INSTRUCTION_PRIORITIES = ["NORM", "HIGH", "INST"];
1086
+ const PAYMENT_REQUEST_STATUSES = [
1087
+ "OPENED",
1088
+ "AUTHORIZED",
1089
+ "COMPLETED",
1090
+ "BOOKED",
1091
+ "SETTLED",
1092
+ "REJECTED",
1093
+ "CLOSED"
1094
+ ];
1095
+ const PAYMENT_STATUSES = [
1096
+ "PENDING",
1097
+ "PROCESSING",
1098
+ "BOOKED",
1099
+ "CANCELLED",
1100
+ "REJECTED",
1101
+ "SCHEDULED",
1102
+ "HOLD",
1103
+ "INFO"
1104
+ ];
1105
+ const PAYMENT_DIRECTIONS = ["INCOMING", "OUTGOING"];
1106
+ const BATCH_STATUSES = [
1107
+ "PROCESSING",
1108
+ "READY_TO_SIGN",
1109
+ "AUTHORIZED",
1110
+ "COMPLETED",
1111
+ "FAILED"
1112
+ ];
1113
+ const BATCH_MODES = ["NATIVE", "SINGLE"];
1114
+ const ACCOUNT_STATUSES = ["AUTHORIZED", "DISABLED", "EXPIRED"];
1115
+ const COUNTRY_CODES = generalCodes.COUNTRY_CODES_2;
1116
+
1079
1117
  class AirBankConnector extends FinbricksConnector {
1080
1118
  constructor(config) {
1081
1119
  super("AIRBANK", config);
@@ -1334,6 +1372,14 @@ const calculateCzechIban = (accountNumber, bankCode) => {
1334
1372
  return `CZ${checkDigits}${basicIban}`;
1335
1373
  };
1336
1374
 
1375
+ const dbuAccountConfigSchema = zod.z.object({
1376
+ with4EyeApproval: zod.z.enum(["Y", "N"]).default("Y"),
1377
+ channelCode: zod.z.string().default("WWW"),
1378
+ actionTypeCode: zod.z.string().default("TRANSFER"),
1379
+ transactionTypeCode: zod.z.string().default("TRANSFER"),
1380
+ partialRealization: zod.z.enum(["Y", "N"]).default("N"),
1381
+ forceRealization: zod.z.enum(["Y", "N"]).default("N")
1382
+ });
1337
1383
  class DbuConnector extends IBankConnector {
1338
1384
  constructor({
1339
1385
  BASE_URL,
@@ -1355,7 +1401,10 @@ class DbuConnector extends IBankConnector {
1355
1401
  this.api = API;
1356
1402
  this.redirectUri = REDIRECT_URI;
1357
1403
  this.txAuthUri = TX_AUTH_URI;
1358
- this.connectedAccounts = connectedAccounts;
1404
+ this.connectedAccounts = connectedAccounts.map((acc) => ({
1405
+ ...acc,
1406
+ config: dbuAccountConfigSchema.parse(acc.config ?? {})
1407
+ }));
1359
1408
  this.sessionId = backendSdk.uuidv4();
1360
1409
  this.allowedPostEndpoints = [
1361
1410
  "/required-transactions",
@@ -1610,7 +1659,7 @@ class DbuConnector extends IBankConnector {
1610
1659
  return [];
1611
1660
  }
1612
1661
  // ── Single payment methods ──────────────────────────────────────────
1613
- resolveIdAccountDebit(payment) {
1662
+ resolveAccount(payment) {
1614
1663
  const account = this.connectedAccounts.find(
1615
1664
  (acc) => acc.id === payment.accountId
1616
1665
  );
@@ -1620,7 +1669,10 @@ class DbuConnector extends IBankConnector {
1620
1669
  code: "DBU_ACCOUNT_NOT_FOUND"
1621
1670
  });
1622
1671
  }
1623
- return Number(account.bankRefId);
1672
+ return account;
1673
+ }
1674
+ resolveIdAccountDebit(payment) {
1675
+ return Number(this.resolveAccount(payment).bankRefId);
1624
1676
  }
1625
1677
  resolveAccountDetails(account) {
1626
1678
  if (account.number && account.bankCode) {
@@ -1637,13 +1689,15 @@ class DbuConnector extends IBankConnector {
1637
1689
  }
1638
1690
  async initiateInstantPayment(payment) {
1639
1691
  const creditor = this.resolveAccountDetails(payment.creditor);
1692
+ const debtorAccount = this.resolveAccount(payment);
1693
+ const cfg = debtorAccount.config;
1640
1694
  const body = {
1641
1695
  accountNumberCredit: creditor.number,
1642
- idAccountDebit: this.resolveIdAccountDebit(payment),
1696
+ idAccountDebit: Number(debtorAccount.bankRefId),
1643
1697
  bankCodeCredit: creditor.bankCode,
1644
1698
  amount: payment.amount,
1645
1699
  currencyCode: "CZK",
1646
- channelCode: "WWW",
1700
+ channelCode: cfg.channelCode,
1647
1701
  textMessage: payment.message,
1648
1702
  varSymbol: payment.vs,
1649
1703
  specSymbol: payment.ss,
@@ -1677,6 +1731,7 @@ class DbuConnector extends IBankConnector {
1677
1731
  }
1678
1732
  const debtor = this.resolveAccountDetails(payment.debtor);
1679
1733
  const creditor = this.resolveAccountDetails(payment.creditor);
1734
+ const cfg = this.resolveAccount(payment).config;
1680
1735
  const body = {
1681
1736
  accountNumberDebit: debtor.number,
1682
1737
  accountNumberCredit: creditor.number,
@@ -1684,20 +1739,20 @@ class DbuConnector extends IBankConnector {
1684
1739
  bankCodeCredit: creditor.bankCode,
1685
1740
  amount: payment.amount,
1686
1741
  currencyCode: "CZK",
1687
- actionTypeCode: "TRANSFER",
1688
- channelCode: "WWW",
1742
+ actionTypeCode: cfg.actionTypeCode,
1743
+ channelCode: cfg.channelCode,
1689
1744
  textMessage: payment.message,
1690
- transactionTypeCode: "TRANSFER",
1745
+ transactionTypeCode: cfg.transactionTypeCode,
1691
1746
  validFrom: dateFns.format(/* @__PURE__ */ new Date(), "yyyy-MM-dd"),
1692
1747
  validTo: null,
1693
1748
  subEntity: "DOMESTIC",
1694
- partialRealization: "N",
1695
- forceRealization: "N",
1749
+ partialRealization: cfg.partialRealization,
1750
+ forceRealization: cfg.forceRealization,
1696
1751
  varSymbol: payment.vs,
1697
1752
  specSymbol: payment.ss,
1698
1753
  constSymbol: payment.ks,
1699
1754
  uniqueExternalId: payment.id,
1700
- with4EyeApproval: "Y",
1755
+ with4EyeApproval: cfg.with4EyeApproval,
1701
1756
  applicationCode: this.applicationCode
1702
1757
  };
1703
1758
  const response = await this.makeRequest(
@@ -1893,6 +1948,39 @@ class DbuConnector extends IBankConnector {
1893
1948
  }
1894
1949
  }
1895
1950
 
1951
+ const TERMINAL_STATUSES$1 = /* @__PURE__ */ new Set([
1952
+ "SETTLED",
1953
+ "REJECTED",
1954
+ "CLOSED"
1955
+ ]);
1956
+ const PENDING_STATUSES = /* @__PURE__ */ new Set([
1957
+ "OPENED",
1958
+ "AUTHORIZED"
1959
+ ]);
1960
+ function isTerminalStatus(status) {
1961
+ return TERMINAL_STATUSES$1.has(status);
1962
+ }
1963
+ function isPendingStatus(status) {
1964
+ return PENDING_STATUSES.has(status);
1965
+ }
1966
+ function isProcessedStatus(status) {
1967
+ return !isPendingStatus(status);
1968
+ }
1969
+ function hasPaymentAccountAssigned(payment) {
1970
+ return "accountId" in payment && "connectorKey" in payment && payment.accountId !== void 0 && payment.connectorKey !== void 0;
1971
+ }
1972
+ function isPaymentCompleted(payment) {
1973
+ return (payment.status === "COMPLETED" || payment.status === "BOOKED" || payment.status === "SETTLED" || payment.status === "REJECTED" || payment.status === "CLOSED") && "bankRefId" in payment && typeof payment.bankRefId === "string";
1974
+ }
1975
+
1976
+ const TERMINAL_STATUSES = PAYMENT_REQUEST_STATUSES.filter(isTerminalStatus);
1977
+ const getNonTerminalPaymentRequestsQuery = (db) => db.select().from(tables.paymentRequest).where(
1978
+ drizzleOrm.and(
1979
+ drizzleOrm.not(drizzleOrm.inArray(tables.paymentRequest.status, TERMINAL_STATUSES)),
1980
+ drizzleOrm.isNull(tables.paymentRequest.deletedAt)
1981
+ )
1982
+ );
1983
+
1896
1984
  class ErsteConnector extends IBankConnector {
1897
1985
  constructor(config) {
1898
1986
  super();
@@ -2307,6 +2395,263 @@ class MockConnector extends IBankConnector {
2307
2395
  }
2308
2396
  }
2309
2397
 
2398
+ const CONNECTOR_KEYS = [
2399
+ "ERSTE",
2400
+ "FINBRICKS",
2401
+ "MOCK",
2402
+ "CREDITAS",
2403
+ "MOCK_COBS",
2404
+ "FIO",
2405
+ "MONETA",
2406
+ "DBU",
2407
+ "CSAS",
2408
+ "AIRBANK",
2409
+ "KB",
2410
+ "CSOB"
2411
+ ];
2412
+ const CREDENTIALS_TYPES = [
2413
+ "AUTH_TOKEN",
2414
+ "REFRESH_TOKEN",
2415
+ "CLIENT_ID",
2416
+ "API_KEY"
2417
+ ];
2418
+ const TOKEN_TYPES = ["ACCOUNT_AUTHORIZATION"];
2419
+
2420
+ const account = sqliteCore.sqliteTable(
2421
+ "account",
2422
+ {
2423
+ ...backendSdk.base,
2424
+ ...backendSdk.bankAccount,
2425
+ // countryCode is temporary until bankAccount is update to include US country code
2426
+ countryCode: sqliteCore.text("country_code", { enum: COUNTRY_CODES }).$type().notNull(),
2427
+ number: sqliteCore.text("number").notNull(),
2428
+ name: sqliteCore.text("name"),
2429
+ iban: sqliteCore.text("iban").notNull(),
2430
+ bankCode: sqliteCore.text("bank_code", { enum: generalCodes.BANK_CODES }).notNull(),
2431
+ connectorKey: sqliteCore.text("connector_key", {
2432
+ enum: CONNECTOR_KEYS
2433
+ }).$type().notNull(),
2434
+ status: sqliteCore.text("status", { enum: ACCOUNT_STATUSES }).$type().notNull(),
2435
+ bankRefId: sqliteCore.text("bank_ref_id").notNull(),
2436
+ batchSizeLimit: sqliteCore.integer("batch_size_limit").notNull().default(50),
2437
+ syncIntervalS: sqliteCore.integer("sync_interval_s").notNull().default(600),
2438
+ lastSyncAt: sqliteCore.integer("last_sync_at", { mode: "timestamp_ms" }),
2439
+ lastSyncMetadata: sqliteCore.text("last_sync_metadata", {
2440
+ mode: "json"
2441
+ }).$type(),
2442
+ connectorConfig: sqliteCore.text("connector_config", {
2443
+ mode: "json"
2444
+ }).$type()
2445
+ },
2446
+ (t) => [sqliteCore.unique().on(t.iban)]
2447
+ );
2448
+
2449
+ const accountInsertSchema = drizzleZod.createInsertSchema(account, {
2450
+ address: () => backendSdk.structuredAddressSchema.optional()
2451
+ });
2452
+ const accountUpdateSchema = drizzleZod.createUpdateSchema(account, {
2453
+ address: () => backendSdk.structuredAddressSchema.optional()
2454
+ });
2455
+ const accountSelectSchema = drizzleZod.createSelectSchema(account, {
2456
+ address: () => backendSdk.structuredAddressSchema.nullable()
2457
+ });
2458
+
2459
+ const accountCredentials = sqliteCore.sqliteTable("account_credentials", {
2460
+ ...backendSdk.base,
2461
+ accountId: sqliteCore.text("account_id").references(() => account.id, { onDelete: "restrict", onUpdate: "cascade" }).notNull(),
2462
+ connectorKey: sqliteCore.text("connector_key", {
2463
+ enum: CONNECTOR_KEYS
2464
+ }).$type().notNull(),
2465
+ type: sqliteCore.text("type", {
2466
+ enum: CREDENTIALS_TYPES
2467
+ }).$type().notNull(),
2468
+ value: sqliteCore.text("value").notNull(),
2469
+ expiresAt: sqliteCore.integer("expires_at", { mode: "timestamp_ms" }).notNull()
2470
+ });
2471
+
2472
+ const accountCredentialsInsertSchema = drizzleZod.createInsertSchema(accountCredentials);
2473
+ const accountCredentialsUpdateSchema = drizzleZod.createUpdateSchema(accountCredentials);
2474
+ const accountCredentialsSelectSchema = drizzleZod.createSelectSchema(accountCredentials);
2475
+
2476
+ const ott = sqliteCore.sqliteTable("ott", {
2477
+ ...backendSdk.base,
2478
+ oneTimeToken: sqliteCore.text("one_time_token").notNull(),
2479
+ refId: sqliteCore.text("ref_id").notNull(),
2480
+ tokenType: sqliteCore.text("token_type", { enum: TOKEN_TYPES }).$type().notNull(),
2481
+ expiresAt: sqliteCore.integer("expires_at", { mode: "timestamp_ms" }).notNull()
2482
+ });
2483
+
2484
+ const ottInsertSchema = drizzleZod.createInsertSchema(ott);
2485
+ const ottUpdateSchema = drizzleZod.createUpdateSchema(ott);
2486
+ const ottSelectSchema = drizzleZod.createSelectSchema(ott);
2487
+
2488
+ const batch = sqliteCore.sqliteTable("batch", {
2489
+ ...backendSdk.base,
2490
+ batchPaymentInitiatedAt: sqliteCore.integer("batch_payment_initiated_at", {
2491
+ mode: "timestamp_ms"
2492
+ }),
2493
+ authorizationUrls: sqliteCore.text("authorization_urls", { mode: "json" }).$type(),
2494
+ accountId: sqliteCore.text("account_id").references(() => account.id, {
2495
+ onDelete: "restrict",
2496
+ onUpdate: "cascade"
2497
+ }),
2498
+ status: sqliteCore.text("status", { enum: BATCH_STATUSES }).$type(),
2499
+ statusReason: sqliteCore.text("status_reason"),
2500
+ statusResponse: sqliteCore.text("status_response", { mode: "json" }).$type(),
2501
+ metadata: sqliteCore.text("metadata", { mode: "json" }).$type(),
2502
+ paymentType: sqliteCore.text("payment_type", {
2503
+ enum: PAYMENT_TYPES
2504
+ }).$type(),
2505
+ paymentsChecksum: sqliteCore.text("payments_checksum"),
2506
+ batchMode: sqliteCore.text("batch_mode", { enum: BATCH_MODES }).$type()
2507
+ });
2508
+
2509
+ const payment = sqliteCore.sqliteTable(
2510
+ "payment",
2511
+ {
2512
+ ...backendSdk.base,
2513
+ correlationId: sqliteCore.text("correlation_id").notNull(),
2514
+ refId: sqliteCore.text("ref_id"),
2515
+ bankRefId: sqliteCore.text("bank_ref_id").notNull(),
2516
+ accountId: sqliteCore.text("account_id").references(() => account.id, {
2517
+ onDelete: "restrict",
2518
+ onUpdate: "cascade"
2519
+ }).notNull(),
2520
+ connectorKey: sqliteCore.text("connector_key", { enum: CONNECTOR_KEYS }).$type().notNull(),
2521
+ amount: sqliteCore.real("amount").notNull(),
2522
+ direction: sqliteCore.text("direction").$type().notNull(),
2523
+ paymentType: sqliteCore.text("payment_type").$type().notNull(),
2524
+ currency: sqliteCore.text("currency").$type().notNull(),
2525
+ status: sqliteCore.text("status", { enum: PAYMENT_STATUSES }).$type().notNull(),
2526
+ statusReason: sqliteCore.text("status_reason"),
2527
+ batchId: sqliteCore.text("bank_execution_batch_id"),
2528
+ initiatedAt: sqliteCore.integer("initiated_at", {
2529
+ mode: "timestamp_ms"
2530
+ }),
2531
+ vs: sqliteCore.text("vs"),
2532
+ ss: sqliteCore.text("ss"),
2533
+ ks: sqliteCore.text("ks"),
2534
+ message: sqliteCore.text("message"),
2535
+ chargeBearer: sqliteCore.text("charge_bearer", {
2536
+ enum: CHARGE_BEARERS
2537
+ }).$type(),
2538
+ instructionPriority: sqliteCore.text("instruction_priority", {
2539
+ enum: INSTRUCTION_PRIORITIES
2540
+ }).$type(),
2541
+ processedAt: sqliteCore.integer("processed_at", {
2542
+ mode: "timestamp_ms"
2543
+ }),
2544
+ creditor: sqliteCore.text("creditor", { mode: "json" }).$type().notNull(),
2545
+ creditorIban: sqliteCore.text("creditor_iban"),
2546
+ debtor: sqliteCore.text("debtor", { mode: "json" }).$type().notNull(),
2547
+ debtorIban: sqliteCore.text("debtor_iban")
2548
+ },
2549
+ (t) => [
2550
+ sqliteCore.unique().on(t.connectorKey, t.accountId, t.bankRefId),
2551
+ sqliteCore.index("payment_account_id_idx").on(t.accountId),
2552
+ sqliteCore.index("payment_account_id_status_idx").on(t.accountId, t.status),
2553
+ sqliteCore.index("payment_account_id_created_at_idx").on(t.accountId, t.createdAt),
2554
+ sqliteCore.index("payment_created_at_idx").on(t.createdAt),
2555
+ sqliteCore.index("payment_direction_idx").on(t.direction),
2556
+ sqliteCore.index("payment_batch_id_idx").on(t.batchId),
2557
+ sqliteCore.index("payment_creditor_iban_idx").on(t.creditorIban),
2558
+ sqliteCore.index("payment_debtor_iban_idx").on(t.debtorIban)
2559
+ ]
2560
+ );
2561
+ const paymentRelations = relations.relations(payment, ({ one }) => ({
2562
+ batch: one(batch, { fields: [payment.batchId], references: [batch.id] })
2563
+ }));
2564
+
2565
+ const paymentRequest = sqliteCore.sqliteTable(
2566
+ "payment_request",
2567
+ {
2568
+ ...backendSdk.base,
2569
+ batchId: sqliteCore.text("batch_id").references(() => batch.id, {
2570
+ onDelete: "restrict",
2571
+ onUpdate: "cascade"
2572
+ }),
2573
+ accountId: sqliteCore.text("account_id").references(() => account.id, {
2574
+ onDelete: "restrict",
2575
+ onUpdate: "cascade"
2576
+ }).notNull(),
2577
+ correlationId: sqliteCore.text("correlation_id").notNull(),
2578
+ refId: sqliteCore.text("ref_id"),
2579
+ bankRefId: sqliteCore.text("bank_ref_id"),
2580
+ connectorKey: sqliteCore.text("connector_key", { enum: CONNECTOR_KEYS }).$type().notNull(),
2581
+ amount: sqliteCore.real("amount").notNull(),
2582
+ paymentType: sqliteCore.text("payment_type", { enum: PAYMENT_TYPES }).$type().notNull(),
2583
+ currency: sqliteCore.text("currency").$type().notNull(),
2584
+ status: sqliteCore.text("status", { enum: PAYMENT_REQUEST_STATUSES }).$type().notNull(),
2585
+ statusReason: sqliteCore.text("status_reason"),
2586
+ authorizationUrl: sqliteCore.text("authorization_url"),
2587
+ initiatedAt: sqliteCore.integer("initiated_at", { mode: "timestamp_ms" }),
2588
+ processedAt: sqliteCore.integer("processed_at", { mode: "timestamp_ms" }),
2589
+ vs: sqliteCore.text("vs"),
2590
+ ss: sqliteCore.text("ss"),
2591
+ ks: sqliteCore.text("ks"),
2592
+ message: sqliteCore.text("message"),
2593
+ chargeBearer: sqliteCore.text("charge_bearer", {
2594
+ enum: CHARGE_BEARERS
2595
+ }).$type(),
2596
+ instructionPriority: sqliteCore.text("instruction_priority", {
2597
+ enum: INSTRUCTION_PRIORITIES
2598
+ }).$type(),
2599
+ creditor: sqliteCore.text("creditor", { mode: "json" }).$type().notNull(),
2600
+ creditorIban: sqliteCore.text("creditor_iban"),
2601
+ debtor: sqliteCore.text("debtor", { mode: "json" }).$type().notNull(),
2602
+ debtorIban: sqliteCore.text("debtor_iban"),
2603
+ sendAsSinglePayment: sqliteCore.integer("send_as_single_payment", {
2604
+ mode: "boolean"
2605
+ })
2606
+ },
2607
+ (t) => [
2608
+ sqliteCore.index("payment_request_batch_id_idx").on(t.batchId),
2609
+ sqliteCore.index("payment_request_account_id_idx").on(t.accountId),
2610
+ sqliteCore.index("payment_request_creditor_iban_idx").on(t.creditorIban),
2611
+ sqliteCore.index("payment_request_debtor_iban_idx").on(t.debtorIban),
2612
+ sqliteCore.index("payment_request_status_idx").on(t.status),
2613
+ sqliteCore.index("payment_request_created_at_idx").on(t.createdAt),
2614
+ sqliteCore.index("payment_request_account_status_idx").on(t.accountId, t.status),
2615
+ sqliteCore.index("payment_request_status_created_at_idx").on(t.status, t.createdAt),
2616
+ sqliteCore.index("payment_request_account_status_created_at_idx").on(
2617
+ t.accountId,
2618
+ t.status,
2619
+ t.createdAt
2620
+ )
2621
+ ]
2622
+ );
2623
+ const paymentRequestRelations = relations.relations(paymentRequest, ({ one }) => ({
2624
+ batch: one(batch, {
2625
+ fields: [paymentRequest.batchId],
2626
+ references: [batch.id]
2627
+ }),
2628
+ account: one(account, {
2629
+ fields: [paymentRequest.accountId],
2630
+ references: [account.id]
2631
+ })
2632
+ }));
2633
+
2634
+ const schema = {
2635
+ __proto__: null,
2636
+ account: account,
2637
+ accountCredentials: accountCredentials,
2638
+ batch: batch,
2639
+ ott: ott,
2640
+ payment: payment,
2641
+ paymentRelations: paymentRelations,
2642
+ paymentRequest: paymentRequest,
2643
+ paymentRequestRelations: paymentRequestRelations
2644
+ };
2645
+
2646
+ const tables = schema;
2647
+
2648
+ exports.ACCOUNT_STATUSES = ACCOUNT_STATUSES;
2649
+ exports.BATCH_MODES = BATCH_MODES;
2650
+ exports.BATCH_STATUSES = BATCH_STATUSES;
2651
+ exports.CHARGE_BEARERS = CHARGE_BEARERS;
2652
+ exports.CONNECTOR_KEYS = CONNECTOR_KEYS;
2653
+ exports.COUNTRY_CODES = COUNTRY_CODES;
2654
+ exports.CREDENTIALS_TYPES = CREDENTIALS_TYPES;
2310
2655
  exports.CsobConnector = CsobConnector;
2311
2656
  exports.DbuConnector = DbuConnector;
2312
2657
  exports.ErsteConnector = ErsteConnector;
@@ -2314,12 +2659,43 @@ exports.FINBRICKS_ENDPOINTS = FINBRICKS_ENDPOINTS;
2314
2659
  exports.FinbricksClient = FinbricksClient;
2315
2660
  exports.FinbricksConnector = FinbricksConnector;
2316
2661
  exports.IBankConnector = IBankConnector;
2662
+ exports.INSTRUCTION_PRIORITIES = INSTRUCTION_PRIORITIES;
2317
2663
  exports.KBConnector = KBConnector;
2318
2664
  exports.MockCobsConnector = MockCobsConnector;
2319
2665
  exports.MockConnector = MockConnector;
2666
+ exports.PAYMENT_DIRECTIONS = PAYMENT_DIRECTIONS;
2667
+ exports.PAYMENT_REQUEST_STATUSES = PAYMENT_REQUEST_STATUSES;
2668
+ exports.PAYMENT_STATUSES = PAYMENT_STATUSES;
2669
+ exports.PAYMENT_TYPES = PAYMENT_TYPES;
2670
+ exports.TOKEN_TYPES = TOKEN_TYPES;
2671
+ exports.account = account;
2672
+ exports.accountCredentials = accountCredentials;
2673
+ exports.accountCredentialsInsertSchema = accountCredentialsInsertSchema;
2674
+ exports.accountCredentialsSelectSchema = accountCredentialsSelectSchema;
2675
+ exports.accountCredentialsUpdateSchema = accountCredentialsUpdateSchema;
2676
+ exports.accountInsertSchema = accountInsertSchema;
2677
+ exports.accountSelectSchema = accountSelectSchema;
2678
+ exports.accountUpdateSchema = accountUpdateSchema;
2320
2679
  exports.assignAccount = assignAccount;
2680
+ exports.batch = batch;
2681
+ exports.dbuAccountConfigSchema = dbuAccountConfigSchema;
2682
+ exports.getNonTerminalPaymentRequestsQuery = getNonTerminalPaymentRequestsQuery;
2683
+ exports.hasPaymentAccountAssigned = hasPaymentAccountAssigned;
2321
2684
  exports.initiateConnector = initiateConnector;
2685
+ exports.isPaymentCompleted = isPaymentCompleted;
2686
+ exports.isPendingStatus = isPendingStatus;
2687
+ exports.isProcessedStatus = isProcessedStatus;
2688
+ exports.isTerminalStatus = isTerminalStatus;
2689
+ exports.ott = ott;
2690
+ exports.ottInsertSchema = ottInsertSchema;
2691
+ exports.ottSelectSchema = ottSelectSchema;
2692
+ exports.ottUpdateSchema = ottUpdateSchema;
2693
+ exports.payment = payment;
2694
+ exports.paymentRelations = paymentRelations;
2695
+ exports.paymentRequest = paymentRequest;
2696
+ exports.paymentRequestRelations = paymentRequestRelations;
2322
2697
  exports.signFinbricksJws = signFinbricksJws;
2698
+ exports.tables = tables;
2323
2699
  exports.toBatchedPayment = toBatchedPayment;
2324
2700
  exports.toBatchedPaymentFromPaymentRequest = toBatchedPaymentFromPaymentRequest;
2325
2701
  exports.toCompletedPayment = toCompletedPayment;