@develit-services/bank 2.2.3 → 2.4.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/dist/database/schema.cjs +2 -1
- package/dist/database/schema.d.cts +1 -1
- package/dist/database/schema.d.mts +1 -1
- package/dist/database/schema.d.ts +1 -1
- package/dist/database/schema.mjs +2 -1
- package/dist/export/worker.cjs +15 -15
- package/dist/export/worker.d.cts +23 -2
- package/dist/export/worker.d.mts +23 -2
- package/dist/export/worker.d.ts +23 -2
- package/dist/export/worker.mjs +4 -4
- package/dist/export/workflows.cjs +11 -9
- package/dist/export/workflows.mjs +7 -5
- package/dist/export/wrangler.cjs +4 -1
- package/dist/export/wrangler.d.cts +10 -2
- package/dist/export/wrangler.d.mts +10 -2
- package/dist/export/wrangler.d.ts +10 -2
- package/dist/export/wrangler.mjs +4 -1
- package/dist/shared/{bank.B0EWZbAs.cjs → bank.B0I6H6AT.cjs} +1 -1
- package/dist/shared/{bank.Cw3K7nIh.d.cts → bank.BI2OxQsM.d.mts} +1 -1
- package/dist/shared/{bank.COez_hEH.d.mts → bank.BJ_vbyUT.d.cts} +80 -2
- package/dist/shared/{bank.COez_hEH.d.ts → bank.BJ_vbyUT.d.mts} +80 -2
- package/dist/shared/{bank.COez_hEH.d.cts → bank.BJ_vbyUT.d.ts} +80 -2
- package/dist/shared/{bank.t019WQuV.d.mts → bank.Bs0isbAY.d.ts} +1 -1
- package/dist/shared/{bank.VB_ZSWGd.d.ts → bank.Ca0iWjhb.d.cts} +1 -1
- package/dist/shared/{bank.CmgGdN-q.mjs → bank.IlVbIEuM.mjs} +389 -31
- package/dist/shared/{bank.CQfKMyzc.cjs → bank.c1sHv5v_.cjs} +425 -29
- package/dist/shared/{bank.UBWdag5k.mjs → bank.fZkUcrn9.mjs} +1 -1
- package/dist/types.cjs +25 -24
- package/dist/types.d.cts +30 -8
- package/dist/types.d.mts +30 -8
- package/dist/types.d.ts +30 -8
- package/dist/types.mjs +5 -5
- package/package.json +1 -1
- package/dist/shared/bank.C7MA33AX.mjs +0 -325
- package/dist/shared/bank.CIWYI18z.cjs +0 -363
|
@@ -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 {
|
|
@@ -476,6 +479,26 @@ const SEPA_COUNTRIES = /* @__PURE__ */ new Set([
|
|
|
476
479
|
"GI",
|
|
477
480
|
"XK"
|
|
478
481
|
]);
|
|
482
|
+
function parseOtherIdentification(value) {
|
|
483
|
+
if (!value) return {};
|
|
484
|
+
const [first, second] = value.split("/");
|
|
485
|
+
if (!first) return {};
|
|
486
|
+
const looksLikeIban = first.length >= 15 && /^[A-Z]{2}\d{2}[A-Z0-9]+$/.test(first);
|
|
487
|
+
if (looksLikeIban) {
|
|
488
|
+
const iban = first;
|
|
489
|
+
const swiftBic = second || void 0;
|
|
490
|
+
if (iban.startsWith("CZ") && iban.length === 24) {
|
|
491
|
+
const bankCode = iban.slice(4, 8);
|
|
492
|
+
const number = iban.slice(14, 24).replace(/^0+/, "") || iban.slice(14, 24);
|
|
493
|
+
return { iban, swiftBic, bankCode, number };
|
|
494
|
+
}
|
|
495
|
+
return { iban, swiftBic };
|
|
496
|
+
}
|
|
497
|
+
return {
|
|
498
|
+
number: first,
|
|
499
|
+
bankCode: second || void 0
|
|
500
|
+
};
|
|
501
|
+
}
|
|
479
502
|
function detectPaymentType(tx, isIncoming) {
|
|
480
503
|
const related = tx.entryDetails?.transactionDetails?.relatedParties;
|
|
481
504
|
const otherParty = isIncoming ? related?.debtorAccount : related?.creditorAccount;
|
|
@@ -497,6 +520,12 @@ const mapFinbricksTransactionToPayment = (tx, account) => {
|
|
|
497
520
|
const related = tx.entryDetails?.transactionDetails?.relatedParties;
|
|
498
521
|
const endToEndId = tx.entryDetails.transactionDetails?.references?.endToEndIdentification;
|
|
499
522
|
const symbolsRegex = /^\/?VS\d+/;
|
|
523
|
+
const debtorParsed = parseOtherIdentification(
|
|
524
|
+
related?.debtorAccount?.identification?.other?.identification
|
|
525
|
+
);
|
|
526
|
+
const creditorParsed = parseOtherIdentification(
|
|
527
|
+
related?.creditorAccount?.identification?.other?.identification
|
|
528
|
+
);
|
|
500
529
|
const base = {
|
|
501
530
|
id: backendSdk.uuidv4(),
|
|
502
531
|
correlationId: backendSdk.uuidv4(),
|
|
@@ -514,13 +543,10 @@ const mapFinbricksTransactionToPayment = (tx, account) => {
|
|
|
514
543
|
),
|
|
515
544
|
creditor: {
|
|
516
545
|
holderName: related?.creditorAccount?.name || related?.creditor?.name || "Unknown",
|
|
517
|
-
iban: isIncoming ? account.iban || void 0 : related?.creditorAccount?.identification?.iban ||
|
|
518
|
-
number: isIncoming ? account.number || void 0 :
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
bankCode: isIncoming ? account.bankCode || void 0 : related?.creditorAccount?.identification?.other?.identification ? related.creditorAccount.identification.other.identification.split(
|
|
522
|
-
"/"
|
|
523
|
-
)[1] : account.bankCode || void 0,
|
|
546
|
+
iban: isIncoming ? account.iban || void 0 : related?.creditorAccount?.identification?.iban || creditorParsed.iban || void 0,
|
|
547
|
+
number: isIncoming ? account.number || void 0 : creditorParsed.number || void 0,
|
|
548
|
+
bankCode: isIncoming ? account.bankCode || void 0 : creditorParsed.bankCode || void 0,
|
|
549
|
+
swiftBic: isIncoming ? void 0 : creditorParsed.swiftBic,
|
|
524
550
|
address: related?.creditor?.postalAddress ? {
|
|
525
551
|
streetName: related.creditor.postalAddress.streetName,
|
|
526
552
|
buildingNumber: related.creditor.postalAddress.buildingNumber,
|
|
@@ -531,13 +557,10 @@ const mapFinbricksTransactionToPayment = (tx, account) => {
|
|
|
531
557
|
},
|
|
532
558
|
debtor: {
|
|
533
559
|
holderName: related?.debtorAccount?.name || related?.debtor?.name || "Unknown",
|
|
534
|
-
iban: isIncoming ? related?.debtorAccount?.identification?.iban ||
|
|
535
|
-
number: isIncoming ?
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
bankCode: isIncoming ? related?.debtorAccount?.identification?.other?.identification ? related.debtorAccount.identification.other.identification.split(
|
|
539
|
-
"/"
|
|
540
|
-
)[1] : account.bankCode || void 0 : account.bankCode || void 0,
|
|
560
|
+
iban: isIncoming ? related?.debtorAccount?.identification?.iban || debtorParsed.iban || void 0 : account.iban ?? void 0,
|
|
561
|
+
number: isIncoming ? debtorParsed.number || void 0 : account.number || void 0,
|
|
562
|
+
bankCode: isIncoming ? debtorParsed.bankCode || void 0 : account.bankCode || void 0,
|
|
563
|
+
swiftBic: isIncoming ? debtorParsed.swiftBic : void 0,
|
|
541
564
|
address: related?.debtor?.postalAddress ? {
|
|
542
565
|
streetName: related.debtor.postalAddress.streetName,
|
|
543
566
|
buildingNumber: related.debtor.postalAddress.buildingNumber,
|
|
@@ -669,7 +692,8 @@ class FinbricksConnector extends IBankConnector {
|
|
|
669
692
|
connectorKey: this.PROVIDER,
|
|
670
693
|
currency: acc.currency,
|
|
671
694
|
iban: acc.identification.iban,
|
|
672
|
-
id: acc.id
|
|
695
|
+
id: acc.id,
|
|
696
|
+
config: null
|
|
673
697
|
}))
|
|
674
698
|
);
|
|
675
699
|
return {
|
|
@@ -1076,6 +1100,40 @@ class CsobConnector extends FinbricksConnector {
|
|
|
1076
1100
|
}
|
|
1077
1101
|
}
|
|
1078
1102
|
|
|
1103
|
+
const PAYMENT_TYPES = ["SEPA", "SWIFT", "DOMESTIC", "UNKNOWN"];
|
|
1104
|
+
const CHARGE_BEARERS = ["SHA", "OUR", "BEN"];
|
|
1105
|
+
const INSTRUCTION_PRIORITIES = ["NORM", "HIGH", "INST"];
|
|
1106
|
+
const PAYMENT_REQUEST_STATUSES = [
|
|
1107
|
+
"OPENED",
|
|
1108
|
+
"AUTHORIZED",
|
|
1109
|
+
"COMPLETED",
|
|
1110
|
+
"BOOKED",
|
|
1111
|
+
"SETTLED",
|
|
1112
|
+
"REJECTED",
|
|
1113
|
+
"CLOSED"
|
|
1114
|
+
];
|
|
1115
|
+
const PAYMENT_STATUSES = [
|
|
1116
|
+
"PENDING",
|
|
1117
|
+
"PROCESSING",
|
|
1118
|
+
"BOOKED",
|
|
1119
|
+
"CANCELLED",
|
|
1120
|
+
"REJECTED",
|
|
1121
|
+
"SCHEDULED",
|
|
1122
|
+
"HOLD",
|
|
1123
|
+
"INFO"
|
|
1124
|
+
];
|
|
1125
|
+
const PAYMENT_DIRECTIONS = ["INCOMING", "OUTGOING"];
|
|
1126
|
+
const BATCH_STATUSES = [
|
|
1127
|
+
"PROCESSING",
|
|
1128
|
+
"READY_TO_SIGN",
|
|
1129
|
+
"AUTHORIZED",
|
|
1130
|
+
"COMPLETED",
|
|
1131
|
+
"FAILED"
|
|
1132
|
+
];
|
|
1133
|
+
const BATCH_MODES = ["NATIVE", "SINGLE"];
|
|
1134
|
+
const ACCOUNT_STATUSES = ["AUTHORIZED", "DISABLED", "EXPIRED"];
|
|
1135
|
+
const COUNTRY_CODES = generalCodes.COUNTRY_CODES_2;
|
|
1136
|
+
|
|
1079
1137
|
class AirBankConnector extends FinbricksConnector {
|
|
1080
1138
|
constructor(config) {
|
|
1081
1139
|
super("AIRBANK", config);
|
|
@@ -1334,6 +1392,14 @@ const calculateCzechIban = (accountNumber, bankCode) => {
|
|
|
1334
1392
|
return `CZ${checkDigits}${basicIban}`;
|
|
1335
1393
|
};
|
|
1336
1394
|
|
|
1395
|
+
const dbuAccountConfigSchema = zod.z.object({
|
|
1396
|
+
with4EyeApproval: zod.z.enum(["Y", "N"]).default("Y"),
|
|
1397
|
+
channelCode: zod.z.string().default("WWW"),
|
|
1398
|
+
actionTypeCode: zod.z.string().default("TRANSFER"),
|
|
1399
|
+
transactionTypeCode: zod.z.string().default("TRANSFER"),
|
|
1400
|
+
partialRealization: zod.z.enum(["Y", "N"]).default("N"),
|
|
1401
|
+
forceRealization: zod.z.enum(["Y", "N"]).default("N")
|
|
1402
|
+
});
|
|
1337
1403
|
class DbuConnector extends IBankConnector {
|
|
1338
1404
|
constructor({
|
|
1339
1405
|
BASE_URL,
|
|
@@ -1355,7 +1421,10 @@ class DbuConnector extends IBankConnector {
|
|
|
1355
1421
|
this.api = API;
|
|
1356
1422
|
this.redirectUri = REDIRECT_URI;
|
|
1357
1423
|
this.txAuthUri = TX_AUTH_URI;
|
|
1358
|
-
this.connectedAccounts = connectedAccounts
|
|
1424
|
+
this.connectedAccounts = connectedAccounts.map((acc) => ({
|
|
1425
|
+
...acc,
|
|
1426
|
+
config: dbuAccountConfigSchema.parse(acc.config ?? {})
|
|
1427
|
+
}));
|
|
1359
1428
|
this.sessionId = backendSdk.uuidv4();
|
|
1360
1429
|
this.allowedPostEndpoints = [
|
|
1361
1430
|
"/required-transactions",
|
|
@@ -1610,7 +1679,7 @@ class DbuConnector extends IBankConnector {
|
|
|
1610
1679
|
return [];
|
|
1611
1680
|
}
|
|
1612
1681
|
// ── Single payment methods ──────────────────────────────────────────
|
|
1613
|
-
|
|
1682
|
+
resolveAccount(payment) {
|
|
1614
1683
|
const account = this.connectedAccounts.find(
|
|
1615
1684
|
(acc) => acc.id === payment.accountId
|
|
1616
1685
|
);
|
|
@@ -1620,7 +1689,10 @@ class DbuConnector extends IBankConnector {
|
|
|
1620
1689
|
code: "DBU_ACCOUNT_NOT_FOUND"
|
|
1621
1690
|
});
|
|
1622
1691
|
}
|
|
1623
|
-
return
|
|
1692
|
+
return account;
|
|
1693
|
+
}
|
|
1694
|
+
resolveIdAccountDebit(payment) {
|
|
1695
|
+
return Number(this.resolveAccount(payment).bankRefId);
|
|
1624
1696
|
}
|
|
1625
1697
|
resolveAccountDetails(account) {
|
|
1626
1698
|
if (account.number && account.bankCode) {
|
|
@@ -1637,13 +1709,15 @@ class DbuConnector extends IBankConnector {
|
|
|
1637
1709
|
}
|
|
1638
1710
|
async initiateInstantPayment(payment) {
|
|
1639
1711
|
const creditor = this.resolveAccountDetails(payment.creditor);
|
|
1712
|
+
const debtorAccount = this.resolveAccount(payment);
|
|
1713
|
+
const cfg = debtorAccount.config;
|
|
1640
1714
|
const body = {
|
|
1641
1715
|
accountNumberCredit: creditor.number,
|
|
1642
|
-
idAccountDebit:
|
|
1716
|
+
idAccountDebit: Number(debtorAccount.bankRefId),
|
|
1643
1717
|
bankCodeCredit: creditor.bankCode,
|
|
1644
1718
|
amount: payment.amount,
|
|
1645
1719
|
currencyCode: "CZK",
|
|
1646
|
-
channelCode:
|
|
1720
|
+
channelCode: cfg.channelCode,
|
|
1647
1721
|
textMessage: payment.message,
|
|
1648
1722
|
varSymbol: payment.vs,
|
|
1649
1723
|
specSymbol: payment.ss,
|
|
@@ -1677,6 +1751,7 @@ class DbuConnector extends IBankConnector {
|
|
|
1677
1751
|
}
|
|
1678
1752
|
const debtor = this.resolveAccountDetails(payment.debtor);
|
|
1679
1753
|
const creditor = this.resolveAccountDetails(payment.creditor);
|
|
1754
|
+
const cfg = this.resolveAccount(payment).config;
|
|
1680
1755
|
const body = {
|
|
1681
1756
|
accountNumberDebit: debtor.number,
|
|
1682
1757
|
accountNumberCredit: creditor.number,
|
|
@@ -1684,20 +1759,20 @@ class DbuConnector extends IBankConnector {
|
|
|
1684
1759
|
bankCodeCredit: creditor.bankCode,
|
|
1685
1760
|
amount: payment.amount,
|
|
1686
1761
|
currencyCode: "CZK",
|
|
1687
|
-
actionTypeCode:
|
|
1688
|
-
channelCode:
|
|
1762
|
+
actionTypeCode: cfg.actionTypeCode,
|
|
1763
|
+
channelCode: cfg.channelCode,
|
|
1689
1764
|
textMessage: payment.message,
|
|
1690
|
-
transactionTypeCode:
|
|
1765
|
+
transactionTypeCode: cfg.transactionTypeCode,
|
|
1691
1766
|
validFrom: dateFns.format(/* @__PURE__ */ new Date(), "yyyy-MM-dd"),
|
|
1692
1767
|
validTo: null,
|
|
1693
1768
|
subEntity: "DOMESTIC",
|
|
1694
|
-
partialRealization:
|
|
1695
|
-
forceRealization:
|
|
1769
|
+
partialRealization: cfg.partialRealization,
|
|
1770
|
+
forceRealization: cfg.forceRealization,
|
|
1696
1771
|
varSymbol: payment.vs,
|
|
1697
1772
|
specSymbol: payment.ss,
|
|
1698
1773
|
constSymbol: payment.ks,
|
|
1699
1774
|
uniqueExternalId: payment.id,
|
|
1700
|
-
with4EyeApproval:
|
|
1775
|
+
with4EyeApproval: cfg.with4EyeApproval,
|
|
1701
1776
|
applicationCode: this.applicationCode
|
|
1702
1777
|
};
|
|
1703
1778
|
const response = await this.makeRequest(
|
|
@@ -1893,6 +1968,39 @@ class DbuConnector extends IBankConnector {
|
|
|
1893
1968
|
}
|
|
1894
1969
|
}
|
|
1895
1970
|
|
|
1971
|
+
const TERMINAL_STATUSES$1 = /* @__PURE__ */ new Set([
|
|
1972
|
+
"SETTLED",
|
|
1973
|
+
"REJECTED",
|
|
1974
|
+
"CLOSED"
|
|
1975
|
+
]);
|
|
1976
|
+
const PENDING_STATUSES = /* @__PURE__ */ new Set([
|
|
1977
|
+
"OPENED",
|
|
1978
|
+
"AUTHORIZED"
|
|
1979
|
+
]);
|
|
1980
|
+
function isTerminalStatus(status) {
|
|
1981
|
+
return TERMINAL_STATUSES$1.has(status);
|
|
1982
|
+
}
|
|
1983
|
+
function isPendingStatus(status) {
|
|
1984
|
+
return PENDING_STATUSES.has(status);
|
|
1985
|
+
}
|
|
1986
|
+
function isProcessedStatus(status) {
|
|
1987
|
+
return !isPendingStatus(status);
|
|
1988
|
+
}
|
|
1989
|
+
function hasPaymentAccountAssigned(payment) {
|
|
1990
|
+
return "accountId" in payment && "connectorKey" in payment && payment.accountId !== void 0 && payment.connectorKey !== void 0;
|
|
1991
|
+
}
|
|
1992
|
+
function isPaymentCompleted(payment) {
|
|
1993
|
+
return (payment.status === "COMPLETED" || payment.status === "BOOKED" || payment.status === "SETTLED" || payment.status === "REJECTED" || payment.status === "CLOSED") && "bankRefId" in payment && typeof payment.bankRefId === "string";
|
|
1994
|
+
}
|
|
1995
|
+
|
|
1996
|
+
const TERMINAL_STATUSES = PAYMENT_REQUEST_STATUSES.filter(isTerminalStatus);
|
|
1997
|
+
const getNonTerminalPaymentRequestsQuery = (db) => db.select().from(tables.paymentRequest).where(
|
|
1998
|
+
drizzleOrm.and(
|
|
1999
|
+
drizzleOrm.not(drizzleOrm.inArray(tables.paymentRequest.status, TERMINAL_STATUSES)),
|
|
2000
|
+
drizzleOrm.isNull(tables.paymentRequest.deletedAt)
|
|
2001
|
+
)
|
|
2002
|
+
);
|
|
2003
|
+
|
|
1896
2004
|
class ErsteConnector extends IBankConnector {
|
|
1897
2005
|
constructor(config) {
|
|
1898
2006
|
super();
|
|
@@ -2307,6 +2415,263 @@ class MockConnector extends IBankConnector {
|
|
|
2307
2415
|
}
|
|
2308
2416
|
}
|
|
2309
2417
|
|
|
2418
|
+
const CONNECTOR_KEYS = [
|
|
2419
|
+
"ERSTE",
|
|
2420
|
+
"FINBRICKS",
|
|
2421
|
+
"MOCK",
|
|
2422
|
+
"CREDITAS",
|
|
2423
|
+
"MOCK_COBS",
|
|
2424
|
+
"FIO",
|
|
2425
|
+
"MONETA",
|
|
2426
|
+
"DBU",
|
|
2427
|
+
"CSAS",
|
|
2428
|
+
"AIRBANK",
|
|
2429
|
+
"KB",
|
|
2430
|
+
"CSOB"
|
|
2431
|
+
];
|
|
2432
|
+
const CREDENTIALS_TYPES = [
|
|
2433
|
+
"AUTH_TOKEN",
|
|
2434
|
+
"REFRESH_TOKEN",
|
|
2435
|
+
"CLIENT_ID",
|
|
2436
|
+
"API_KEY"
|
|
2437
|
+
];
|
|
2438
|
+
const TOKEN_TYPES = ["ACCOUNT_AUTHORIZATION"];
|
|
2439
|
+
|
|
2440
|
+
const account = sqliteCore.sqliteTable(
|
|
2441
|
+
"account",
|
|
2442
|
+
{
|
|
2443
|
+
...backendSdk.base,
|
|
2444
|
+
...backendSdk.bankAccount,
|
|
2445
|
+
// countryCode is temporary until bankAccount is update to include US country code
|
|
2446
|
+
countryCode: sqliteCore.text("country_code", { enum: COUNTRY_CODES }).$type().notNull(),
|
|
2447
|
+
number: sqliteCore.text("number").notNull(),
|
|
2448
|
+
name: sqliteCore.text("name"),
|
|
2449
|
+
iban: sqliteCore.text("iban").notNull(),
|
|
2450
|
+
bankCode: sqliteCore.text("bank_code", { enum: generalCodes.BANK_CODES }).notNull(),
|
|
2451
|
+
connectorKey: sqliteCore.text("connector_key", {
|
|
2452
|
+
enum: CONNECTOR_KEYS
|
|
2453
|
+
}).$type().notNull(),
|
|
2454
|
+
status: sqliteCore.text("status", { enum: ACCOUNT_STATUSES }).$type().notNull(),
|
|
2455
|
+
bankRefId: sqliteCore.text("bank_ref_id").notNull(),
|
|
2456
|
+
batchSizeLimit: sqliteCore.integer("batch_size_limit").notNull().default(50),
|
|
2457
|
+
syncIntervalS: sqliteCore.integer("sync_interval_s").notNull().default(600),
|
|
2458
|
+
lastSyncAt: sqliteCore.integer("last_sync_at", { mode: "timestamp_ms" }),
|
|
2459
|
+
lastSyncMetadata: sqliteCore.text("last_sync_metadata", {
|
|
2460
|
+
mode: "json"
|
|
2461
|
+
}).$type(),
|
|
2462
|
+
connectorConfig: sqliteCore.text("connector_config", {
|
|
2463
|
+
mode: "json"
|
|
2464
|
+
}).$type()
|
|
2465
|
+
},
|
|
2466
|
+
(t) => [sqliteCore.unique().on(t.iban)]
|
|
2467
|
+
);
|
|
2468
|
+
|
|
2469
|
+
const accountInsertSchema = drizzleZod.createInsertSchema(account, {
|
|
2470
|
+
address: () => backendSdk.structuredAddressSchema.optional()
|
|
2471
|
+
});
|
|
2472
|
+
const accountUpdateSchema = drizzleZod.createUpdateSchema(account, {
|
|
2473
|
+
address: () => backendSdk.structuredAddressSchema.optional()
|
|
2474
|
+
});
|
|
2475
|
+
const accountSelectSchema = drizzleZod.createSelectSchema(account, {
|
|
2476
|
+
address: () => backendSdk.structuredAddressSchema.nullable()
|
|
2477
|
+
});
|
|
2478
|
+
|
|
2479
|
+
const accountCredentials = sqliteCore.sqliteTable("account_credentials", {
|
|
2480
|
+
...backendSdk.base,
|
|
2481
|
+
accountId: sqliteCore.text("account_id").references(() => account.id, { onDelete: "restrict", onUpdate: "cascade" }).notNull(),
|
|
2482
|
+
connectorKey: sqliteCore.text("connector_key", {
|
|
2483
|
+
enum: CONNECTOR_KEYS
|
|
2484
|
+
}).$type().notNull(),
|
|
2485
|
+
type: sqliteCore.text("type", {
|
|
2486
|
+
enum: CREDENTIALS_TYPES
|
|
2487
|
+
}).$type().notNull(),
|
|
2488
|
+
value: sqliteCore.text("value").notNull(),
|
|
2489
|
+
expiresAt: sqliteCore.integer("expires_at", { mode: "timestamp_ms" }).notNull()
|
|
2490
|
+
});
|
|
2491
|
+
|
|
2492
|
+
const accountCredentialsInsertSchema = drizzleZod.createInsertSchema(accountCredentials);
|
|
2493
|
+
const accountCredentialsUpdateSchema = drizzleZod.createUpdateSchema(accountCredentials);
|
|
2494
|
+
const accountCredentialsSelectSchema = drizzleZod.createSelectSchema(accountCredentials);
|
|
2495
|
+
|
|
2496
|
+
const ott = sqliteCore.sqliteTable("ott", {
|
|
2497
|
+
...backendSdk.base,
|
|
2498
|
+
oneTimeToken: sqliteCore.text("one_time_token").notNull(),
|
|
2499
|
+
refId: sqliteCore.text("ref_id").notNull(),
|
|
2500
|
+
tokenType: sqliteCore.text("token_type", { enum: TOKEN_TYPES }).$type().notNull(),
|
|
2501
|
+
expiresAt: sqliteCore.integer("expires_at", { mode: "timestamp_ms" }).notNull()
|
|
2502
|
+
});
|
|
2503
|
+
|
|
2504
|
+
const ottInsertSchema = drizzleZod.createInsertSchema(ott);
|
|
2505
|
+
const ottUpdateSchema = drizzleZod.createUpdateSchema(ott);
|
|
2506
|
+
const ottSelectSchema = drizzleZod.createSelectSchema(ott);
|
|
2507
|
+
|
|
2508
|
+
const batch = sqliteCore.sqliteTable("batch", {
|
|
2509
|
+
...backendSdk.base,
|
|
2510
|
+
batchPaymentInitiatedAt: sqliteCore.integer("batch_payment_initiated_at", {
|
|
2511
|
+
mode: "timestamp_ms"
|
|
2512
|
+
}),
|
|
2513
|
+
authorizationUrls: sqliteCore.text("authorization_urls", { mode: "json" }).$type(),
|
|
2514
|
+
accountId: sqliteCore.text("account_id").references(() => account.id, {
|
|
2515
|
+
onDelete: "restrict",
|
|
2516
|
+
onUpdate: "cascade"
|
|
2517
|
+
}),
|
|
2518
|
+
status: sqliteCore.text("status", { enum: BATCH_STATUSES }).$type(),
|
|
2519
|
+
statusReason: sqliteCore.text("status_reason"),
|
|
2520
|
+
statusResponse: sqliteCore.text("status_response", { mode: "json" }).$type(),
|
|
2521
|
+
metadata: sqliteCore.text("metadata", { mode: "json" }).$type(),
|
|
2522
|
+
paymentType: sqliteCore.text("payment_type", {
|
|
2523
|
+
enum: PAYMENT_TYPES
|
|
2524
|
+
}).$type(),
|
|
2525
|
+
paymentsChecksum: sqliteCore.text("payments_checksum"),
|
|
2526
|
+
batchMode: sqliteCore.text("batch_mode", { enum: BATCH_MODES }).$type()
|
|
2527
|
+
});
|
|
2528
|
+
|
|
2529
|
+
const payment = sqliteCore.sqliteTable(
|
|
2530
|
+
"payment",
|
|
2531
|
+
{
|
|
2532
|
+
...backendSdk.base,
|
|
2533
|
+
correlationId: sqliteCore.text("correlation_id").notNull(),
|
|
2534
|
+
refId: sqliteCore.text("ref_id"),
|
|
2535
|
+
bankRefId: sqliteCore.text("bank_ref_id").notNull(),
|
|
2536
|
+
accountId: sqliteCore.text("account_id").references(() => account.id, {
|
|
2537
|
+
onDelete: "restrict",
|
|
2538
|
+
onUpdate: "cascade"
|
|
2539
|
+
}).notNull(),
|
|
2540
|
+
connectorKey: sqliteCore.text("connector_key", { enum: CONNECTOR_KEYS }).$type().notNull(),
|
|
2541
|
+
amount: sqliteCore.real("amount").notNull(),
|
|
2542
|
+
direction: sqliteCore.text("direction").$type().notNull(),
|
|
2543
|
+
paymentType: sqliteCore.text("payment_type").$type().notNull(),
|
|
2544
|
+
currency: sqliteCore.text("currency").$type().notNull(),
|
|
2545
|
+
status: sqliteCore.text("status", { enum: PAYMENT_STATUSES }).$type().notNull(),
|
|
2546
|
+
statusReason: sqliteCore.text("status_reason"),
|
|
2547
|
+
batchId: sqliteCore.text("bank_execution_batch_id"),
|
|
2548
|
+
initiatedAt: sqliteCore.integer("initiated_at", {
|
|
2549
|
+
mode: "timestamp_ms"
|
|
2550
|
+
}),
|
|
2551
|
+
vs: sqliteCore.text("vs"),
|
|
2552
|
+
ss: sqliteCore.text("ss"),
|
|
2553
|
+
ks: sqliteCore.text("ks"),
|
|
2554
|
+
message: sqliteCore.text("message"),
|
|
2555
|
+
chargeBearer: sqliteCore.text("charge_bearer", {
|
|
2556
|
+
enum: CHARGE_BEARERS
|
|
2557
|
+
}).$type(),
|
|
2558
|
+
instructionPriority: sqliteCore.text("instruction_priority", {
|
|
2559
|
+
enum: INSTRUCTION_PRIORITIES
|
|
2560
|
+
}).$type(),
|
|
2561
|
+
processedAt: sqliteCore.integer("processed_at", {
|
|
2562
|
+
mode: "timestamp_ms"
|
|
2563
|
+
}),
|
|
2564
|
+
creditor: sqliteCore.text("creditor", { mode: "json" }).$type().notNull(),
|
|
2565
|
+
creditorIban: sqliteCore.text("creditor_iban"),
|
|
2566
|
+
debtor: sqliteCore.text("debtor", { mode: "json" }).$type().notNull(),
|
|
2567
|
+
debtorIban: sqliteCore.text("debtor_iban")
|
|
2568
|
+
},
|
|
2569
|
+
(t) => [
|
|
2570
|
+
sqliteCore.unique().on(t.connectorKey, t.accountId, t.bankRefId),
|
|
2571
|
+
sqliteCore.index("payment_account_id_idx").on(t.accountId),
|
|
2572
|
+
sqliteCore.index("payment_account_id_status_idx").on(t.accountId, t.status),
|
|
2573
|
+
sqliteCore.index("payment_account_id_created_at_idx").on(t.accountId, t.createdAt),
|
|
2574
|
+
sqliteCore.index("payment_created_at_idx").on(t.createdAt),
|
|
2575
|
+
sqliteCore.index("payment_direction_idx").on(t.direction),
|
|
2576
|
+
sqliteCore.index("payment_batch_id_idx").on(t.batchId),
|
|
2577
|
+
sqliteCore.index("payment_creditor_iban_idx").on(t.creditorIban),
|
|
2578
|
+
sqliteCore.index("payment_debtor_iban_idx").on(t.debtorIban)
|
|
2579
|
+
]
|
|
2580
|
+
);
|
|
2581
|
+
const paymentRelations = relations.relations(payment, ({ one }) => ({
|
|
2582
|
+
batch: one(batch, { fields: [payment.batchId], references: [batch.id] })
|
|
2583
|
+
}));
|
|
2584
|
+
|
|
2585
|
+
const paymentRequest = sqliteCore.sqliteTable(
|
|
2586
|
+
"payment_request",
|
|
2587
|
+
{
|
|
2588
|
+
...backendSdk.base,
|
|
2589
|
+
batchId: sqliteCore.text("batch_id").references(() => batch.id, {
|
|
2590
|
+
onDelete: "restrict",
|
|
2591
|
+
onUpdate: "cascade"
|
|
2592
|
+
}),
|
|
2593
|
+
accountId: sqliteCore.text("account_id").references(() => account.id, {
|
|
2594
|
+
onDelete: "restrict",
|
|
2595
|
+
onUpdate: "cascade"
|
|
2596
|
+
}).notNull(),
|
|
2597
|
+
correlationId: sqliteCore.text("correlation_id").notNull(),
|
|
2598
|
+
refId: sqliteCore.text("ref_id"),
|
|
2599
|
+
bankRefId: sqliteCore.text("bank_ref_id"),
|
|
2600
|
+
connectorKey: sqliteCore.text("connector_key", { enum: CONNECTOR_KEYS }).$type().notNull(),
|
|
2601
|
+
amount: sqliteCore.real("amount").notNull(),
|
|
2602
|
+
paymentType: sqliteCore.text("payment_type", { enum: PAYMENT_TYPES }).$type().notNull(),
|
|
2603
|
+
currency: sqliteCore.text("currency").$type().notNull(),
|
|
2604
|
+
status: sqliteCore.text("status", { enum: PAYMENT_REQUEST_STATUSES }).$type().notNull(),
|
|
2605
|
+
statusReason: sqliteCore.text("status_reason"),
|
|
2606
|
+
authorizationUrl: sqliteCore.text("authorization_url"),
|
|
2607
|
+
initiatedAt: sqliteCore.integer("initiated_at", { mode: "timestamp_ms" }),
|
|
2608
|
+
processedAt: sqliteCore.integer("processed_at", { mode: "timestamp_ms" }),
|
|
2609
|
+
vs: sqliteCore.text("vs"),
|
|
2610
|
+
ss: sqliteCore.text("ss"),
|
|
2611
|
+
ks: sqliteCore.text("ks"),
|
|
2612
|
+
message: sqliteCore.text("message"),
|
|
2613
|
+
chargeBearer: sqliteCore.text("charge_bearer", {
|
|
2614
|
+
enum: CHARGE_BEARERS
|
|
2615
|
+
}).$type(),
|
|
2616
|
+
instructionPriority: sqliteCore.text("instruction_priority", {
|
|
2617
|
+
enum: INSTRUCTION_PRIORITIES
|
|
2618
|
+
}).$type(),
|
|
2619
|
+
creditor: sqliteCore.text("creditor", { mode: "json" }).$type().notNull(),
|
|
2620
|
+
creditorIban: sqliteCore.text("creditor_iban"),
|
|
2621
|
+
debtor: sqliteCore.text("debtor", { mode: "json" }).$type().notNull(),
|
|
2622
|
+
debtorIban: sqliteCore.text("debtor_iban"),
|
|
2623
|
+
sendAsSinglePayment: sqliteCore.integer("send_as_single_payment", {
|
|
2624
|
+
mode: "boolean"
|
|
2625
|
+
})
|
|
2626
|
+
},
|
|
2627
|
+
(t) => [
|
|
2628
|
+
sqliteCore.index("payment_request_batch_id_idx").on(t.batchId),
|
|
2629
|
+
sqliteCore.index("payment_request_account_id_idx").on(t.accountId),
|
|
2630
|
+
sqliteCore.index("payment_request_creditor_iban_idx").on(t.creditorIban),
|
|
2631
|
+
sqliteCore.index("payment_request_debtor_iban_idx").on(t.debtorIban),
|
|
2632
|
+
sqliteCore.index("payment_request_status_idx").on(t.status),
|
|
2633
|
+
sqliteCore.index("payment_request_created_at_idx").on(t.createdAt),
|
|
2634
|
+
sqliteCore.index("payment_request_account_status_idx").on(t.accountId, t.status),
|
|
2635
|
+
sqliteCore.index("payment_request_status_created_at_idx").on(t.status, t.createdAt),
|
|
2636
|
+
sqliteCore.index("payment_request_account_status_created_at_idx").on(
|
|
2637
|
+
t.accountId,
|
|
2638
|
+
t.status,
|
|
2639
|
+
t.createdAt
|
|
2640
|
+
)
|
|
2641
|
+
]
|
|
2642
|
+
);
|
|
2643
|
+
const paymentRequestRelations = relations.relations(paymentRequest, ({ one }) => ({
|
|
2644
|
+
batch: one(batch, {
|
|
2645
|
+
fields: [paymentRequest.batchId],
|
|
2646
|
+
references: [batch.id]
|
|
2647
|
+
}),
|
|
2648
|
+
account: one(account, {
|
|
2649
|
+
fields: [paymentRequest.accountId],
|
|
2650
|
+
references: [account.id]
|
|
2651
|
+
})
|
|
2652
|
+
}));
|
|
2653
|
+
|
|
2654
|
+
const schema = {
|
|
2655
|
+
__proto__: null,
|
|
2656
|
+
account: account,
|
|
2657
|
+
accountCredentials: accountCredentials,
|
|
2658
|
+
batch: batch,
|
|
2659
|
+
ott: ott,
|
|
2660
|
+
payment: payment,
|
|
2661
|
+
paymentRelations: paymentRelations,
|
|
2662
|
+
paymentRequest: paymentRequest,
|
|
2663
|
+
paymentRequestRelations: paymentRequestRelations
|
|
2664
|
+
};
|
|
2665
|
+
|
|
2666
|
+
const tables = schema;
|
|
2667
|
+
|
|
2668
|
+
exports.ACCOUNT_STATUSES = ACCOUNT_STATUSES;
|
|
2669
|
+
exports.BATCH_MODES = BATCH_MODES;
|
|
2670
|
+
exports.BATCH_STATUSES = BATCH_STATUSES;
|
|
2671
|
+
exports.CHARGE_BEARERS = CHARGE_BEARERS;
|
|
2672
|
+
exports.CONNECTOR_KEYS = CONNECTOR_KEYS;
|
|
2673
|
+
exports.COUNTRY_CODES = COUNTRY_CODES;
|
|
2674
|
+
exports.CREDENTIALS_TYPES = CREDENTIALS_TYPES;
|
|
2310
2675
|
exports.CsobConnector = CsobConnector;
|
|
2311
2676
|
exports.DbuConnector = DbuConnector;
|
|
2312
2677
|
exports.ErsteConnector = ErsteConnector;
|
|
@@ -2314,12 +2679,43 @@ exports.FINBRICKS_ENDPOINTS = FINBRICKS_ENDPOINTS;
|
|
|
2314
2679
|
exports.FinbricksClient = FinbricksClient;
|
|
2315
2680
|
exports.FinbricksConnector = FinbricksConnector;
|
|
2316
2681
|
exports.IBankConnector = IBankConnector;
|
|
2682
|
+
exports.INSTRUCTION_PRIORITIES = INSTRUCTION_PRIORITIES;
|
|
2317
2683
|
exports.KBConnector = KBConnector;
|
|
2318
2684
|
exports.MockCobsConnector = MockCobsConnector;
|
|
2319
2685
|
exports.MockConnector = MockConnector;
|
|
2686
|
+
exports.PAYMENT_DIRECTIONS = PAYMENT_DIRECTIONS;
|
|
2687
|
+
exports.PAYMENT_REQUEST_STATUSES = PAYMENT_REQUEST_STATUSES;
|
|
2688
|
+
exports.PAYMENT_STATUSES = PAYMENT_STATUSES;
|
|
2689
|
+
exports.PAYMENT_TYPES = PAYMENT_TYPES;
|
|
2690
|
+
exports.TOKEN_TYPES = TOKEN_TYPES;
|
|
2691
|
+
exports.account = account;
|
|
2692
|
+
exports.accountCredentials = accountCredentials;
|
|
2693
|
+
exports.accountCredentialsInsertSchema = accountCredentialsInsertSchema;
|
|
2694
|
+
exports.accountCredentialsSelectSchema = accountCredentialsSelectSchema;
|
|
2695
|
+
exports.accountCredentialsUpdateSchema = accountCredentialsUpdateSchema;
|
|
2696
|
+
exports.accountInsertSchema = accountInsertSchema;
|
|
2697
|
+
exports.accountSelectSchema = accountSelectSchema;
|
|
2698
|
+
exports.accountUpdateSchema = accountUpdateSchema;
|
|
2320
2699
|
exports.assignAccount = assignAccount;
|
|
2700
|
+
exports.batch = batch;
|
|
2701
|
+
exports.dbuAccountConfigSchema = dbuAccountConfigSchema;
|
|
2702
|
+
exports.getNonTerminalPaymentRequestsQuery = getNonTerminalPaymentRequestsQuery;
|
|
2703
|
+
exports.hasPaymentAccountAssigned = hasPaymentAccountAssigned;
|
|
2321
2704
|
exports.initiateConnector = initiateConnector;
|
|
2705
|
+
exports.isPaymentCompleted = isPaymentCompleted;
|
|
2706
|
+
exports.isPendingStatus = isPendingStatus;
|
|
2707
|
+
exports.isProcessedStatus = isProcessedStatus;
|
|
2708
|
+
exports.isTerminalStatus = isTerminalStatus;
|
|
2709
|
+
exports.ott = ott;
|
|
2710
|
+
exports.ottInsertSchema = ottInsertSchema;
|
|
2711
|
+
exports.ottSelectSchema = ottSelectSchema;
|
|
2712
|
+
exports.ottUpdateSchema = ottUpdateSchema;
|
|
2713
|
+
exports.payment = payment;
|
|
2714
|
+
exports.paymentRelations = paymentRelations;
|
|
2715
|
+
exports.paymentRequest = paymentRequest;
|
|
2716
|
+
exports.paymentRequestRelations = paymentRequestRelations;
|
|
2322
2717
|
exports.signFinbricksJws = signFinbricksJws;
|
|
2718
|
+
exports.tables = tables;
|
|
2323
2719
|
exports.toBatchedPayment = toBatchedPayment;
|
|
2324
2720
|
exports.toBatchedPaymentFromPaymentRequest = toBatchedPaymentFromPaymentRequest;
|
|
2325
2721
|
exports.toCompletedPayment = toCompletedPayment;
|
package/dist/types.cjs
CHANGED
|
@@ -1,39 +1,20 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
const
|
|
4
|
-
const database_schema = require('./shared/bank.CIWYI18z.cjs');
|
|
3
|
+
const database_schema = require('./shared/bank.c1sHv5v_.cjs');
|
|
5
4
|
const batchLifecycle = require('./shared/bank.NF8bZBy0.cjs');
|
|
6
5
|
const generalCodes = require('@develit-io/general-codes');
|
|
7
6
|
require('@develit-io/backend-sdk');
|
|
7
|
+
require('drizzle-orm/sqlite-core');
|
|
8
8
|
require('date-fns');
|
|
9
|
-
require('drizzle-orm');
|
|
10
9
|
require('jose');
|
|
11
|
-
require('
|
|
12
|
-
require('drizzle-orm/sqlite-core');
|
|
10
|
+
require('zod');
|
|
13
11
|
require('drizzle-orm/relations');
|
|
12
|
+
require('drizzle-orm');
|
|
13
|
+
require('node:crypto');
|
|
14
14
|
require('drizzle-zod');
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
exports.CsobConnector = mock_connector.CsobConnector;
|
|
19
|
-
exports.DbuConnector = mock_connector.DbuConnector;
|
|
20
|
-
exports.ErsteConnector = mock_connector.ErsteConnector;
|
|
21
|
-
exports.FINBRICKS_ENDPOINTS = mock_connector.FINBRICKS_ENDPOINTS;
|
|
22
|
-
exports.FinbricksClient = mock_connector.FinbricksClient;
|
|
23
|
-
exports.FinbricksConnector = mock_connector.FinbricksConnector;
|
|
24
|
-
exports.IBankConnector = mock_connector.IBankConnector;
|
|
25
|
-
exports.KBConnector = mock_connector.KBConnector;
|
|
26
|
-
exports.MockCobsConnector = mock_connector.MockCobsConnector;
|
|
27
|
-
exports.MockConnector = mock_connector.MockConnector;
|
|
28
|
-
exports.assignAccount = mock_connector.assignAccount;
|
|
29
|
-
exports.signFinbricksJws = mock_connector.signFinbricksJws;
|
|
30
|
-
exports.toBatchedPayment = mock_connector.toBatchedPayment;
|
|
31
|
-
exports.toBatchedPaymentFromPaymentRequest = mock_connector.toBatchedPaymentFromPaymentRequest;
|
|
32
|
-
exports.toCompletedPayment = mock_connector.toCompletedPayment;
|
|
33
|
-
exports.toIncomingPayment = mock_connector.toIncomingPayment;
|
|
34
|
-
exports.toPaymentRequestInsert = mock_connector.toPaymentRequestInsert;
|
|
35
|
-
exports.toPreparedPayment = mock_connector.toPreparedPayment;
|
|
36
|
-
exports.useFinbricksFetch = mock_connector.useFinbricksFetch;
|
|
37
18
|
exports.ACCOUNT_STATUSES = database_schema.ACCOUNT_STATUSES;
|
|
38
19
|
exports.BATCH_MODES = database_schema.BATCH_MODES;
|
|
39
20
|
exports.BATCH_STATUES = database_schema.BATCH_STATUSES;
|
|
@@ -42,7 +23,17 @@ exports.CHARGE_BEARERS = database_schema.CHARGE_BEARERS;
|
|
|
42
23
|
exports.CONNECTOR_KEYS = database_schema.CONNECTOR_KEYS;
|
|
43
24
|
exports.COUNTRY_CODES = database_schema.COUNTRY_CODES;
|
|
44
25
|
exports.CREDENTIALS_TYPES = database_schema.CREDENTIALS_TYPES;
|
|
26
|
+
exports.CsobConnector = database_schema.CsobConnector;
|
|
27
|
+
exports.DbuConnector = database_schema.DbuConnector;
|
|
28
|
+
exports.ErsteConnector = database_schema.ErsteConnector;
|
|
29
|
+
exports.FINBRICKS_ENDPOINTS = database_schema.FINBRICKS_ENDPOINTS;
|
|
30
|
+
exports.FinbricksClient = database_schema.FinbricksClient;
|
|
31
|
+
exports.FinbricksConnector = database_schema.FinbricksConnector;
|
|
32
|
+
exports.IBankConnector = database_schema.IBankConnector;
|
|
45
33
|
exports.INSTRUCTION_PRIORITIES = database_schema.INSTRUCTION_PRIORITIES;
|
|
34
|
+
exports.KBConnector = database_schema.KBConnector;
|
|
35
|
+
exports.MockCobsConnector = database_schema.MockCobsConnector;
|
|
36
|
+
exports.MockConnector = database_schema.MockConnector;
|
|
46
37
|
exports.PAYMENT_DIRECTIONS = database_schema.PAYMENT_DIRECTIONS;
|
|
47
38
|
exports.PAYMENT_REQUEST_STATUSES = database_schema.PAYMENT_REQUEST_STATUSES;
|
|
48
39
|
exports.PAYMENT_STATUSES = database_schema.PAYMENT_STATUSES;
|
|
@@ -54,6 +45,8 @@ exports.accountCredentialsUpdateSchema = database_schema.accountCredentialsUpdat
|
|
|
54
45
|
exports.accountInsertSchema = database_schema.accountInsertSchema;
|
|
55
46
|
exports.accountSelectSchema = database_schema.accountSelectSchema;
|
|
56
47
|
exports.accountUpdateSchema = database_schema.accountUpdateSchema;
|
|
48
|
+
exports.assignAccount = database_schema.assignAccount;
|
|
49
|
+
exports.dbuAccountConfigSchema = database_schema.dbuAccountConfigSchema;
|
|
57
50
|
exports.hasPaymentAccountAssigned = database_schema.hasPaymentAccountAssigned;
|
|
58
51
|
exports.isPaymentCompleted = database_schema.isPaymentCompleted;
|
|
59
52
|
exports.isPendingStatus = database_schema.isPendingStatus;
|
|
@@ -62,6 +55,14 @@ exports.isTerminalStatus = database_schema.isTerminalStatus;
|
|
|
62
55
|
exports.ottInsertSchema = database_schema.ottInsertSchema;
|
|
63
56
|
exports.ottSelectSchema = database_schema.ottSelectSchema;
|
|
64
57
|
exports.ottUpdateSchema = database_schema.ottUpdateSchema;
|
|
58
|
+
exports.signFinbricksJws = database_schema.signFinbricksJws;
|
|
59
|
+
exports.toBatchedPayment = database_schema.toBatchedPayment;
|
|
60
|
+
exports.toBatchedPaymentFromPaymentRequest = database_schema.toBatchedPaymentFromPaymentRequest;
|
|
61
|
+
exports.toCompletedPayment = database_schema.toCompletedPayment;
|
|
62
|
+
exports.toIncomingPayment = database_schema.toIncomingPayment;
|
|
63
|
+
exports.toPaymentRequestInsert = database_schema.toPaymentRequestInsert;
|
|
64
|
+
exports.toPreparedPayment = database_schema.toPreparedPayment;
|
|
65
|
+
exports.useFinbricksFetch = database_schema.useFinbricksFetch;
|
|
65
66
|
exports.isBatchAuthorized = batchLifecycle.isBatchAuthorized;
|
|
66
67
|
exports.isBatchCompleted = batchLifecycle.isBatchCompleted;
|
|
67
68
|
exports.isBatchFailed = batchLifecycle.isBatchFailed;
|