@develit-services/bank 5.4.1 → 5.5.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.
@@ -0,0 +1,348 @@
1
+ import { sql, and, eq, isNull } from 'drizzle-orm';
2
+ import { G as tables, b as FinbricksConnector, J as buildEndToEndId, c as MockConnector, D as DbuConnector, C as CsobConnector, K as KBConnector, M as MockCobsConnector, E as ErsteConnector } from './bank.D0iIfh-X.mjs';
3
+ import { uuidv4 } from '@develit-io/backend-sdk';
4
+ import './bank.BzDNLxB_.mjs';
5
+ import 'date-fns';
6
+ import 'jose';
7
+ import '@develit-io/general-codes';
8
+ import { createHash } from 'node:crypto';
9
+
10
+ const createPaymentCommand = (db, { payment }) => {
11
+ return {
12
+ command: db.insert(tables.payment).values({
13
+ ...payment,
14
+ creditorIban: payment.creditor.iban,
15
+ debtorIban: payment.debtor.iban
16
+ }).onConflictDoUpdate({
17
+ // Unique index: (connector_key, account_id, bank_ref_id)
18
+ target: [
19
+ tables.payment.connectorKey,
20
+ tables.payment.accountId,
21
+ tables.payment.bankRefId
22
+ ],
23
+ set: {
24
+ status: sql`excluded.status`,
25
+ statusReason: sql`excluded.status_reason`,
26
+ processedAt: sql`excluded.processed_at`,
27
+ updatedAt: sql`excluded.updated_at`,
28
+ // Keep existing refId if already set, otherwise use enriched value
29
+ refId: sql`coalesce(payment.ref_id, excluded.ref_id)`,
30
+ // Keep existing batchId if already set, otherwise use enriched value
31
+ batchId: sql`coalesce(payment.bank_execution_batch_id, excluded.bank_execution_batch_id)`
32
+ }
33
+ }).returning()
34
+ };
35
+ };
36
+
37
+ const upsertBatchCommand = (db, { batch }) => {
38
+ const id = batch.id || uuidv4();
39
+ const command = db.insert(tables.batch).values({
40
+ ...batch,
41
+ id
42
+ }).onConflictDoUpdate({
43
+ target: tables.batch.id,
44
+ set: {
45
+ ...batch
46
+ }
47
+ }).returning();
48
+ return {
49
+ id,
50
+ command
51
+ };
52
+ };
53
+
54
+ const updatePaymentRequestStatusCommand = (db, values) => {
55
+ const { id, ...set } = values;
56
+ return {
57
+ command: db.update(tables.paymentRequest).set(set).where(
58
+ and(
59
+ eq(tables.paymentRequest.id, id),
60
+ isNull(tables.paymentRequest.deletedAt)
61
+ )
62
+ ).returning()
63
+ };
64
+ };
65
+
66
+ const getAccountByIdQuery = async (db, { accountId }) => {
67
+ return await db.select().from(tables.account).where(eq(tables.account.id, accountId)).get();
68
+ };
69
+
70
+ const getBatchByIdQuery = async (db, { batchId }) => {
71
+ return await db.select().from(tables.batch).where(eq(tables.batch.id, batchId)).get();
72
+ };
73
+
74
+ const getCredentialsByAccountId = async (db, encryptionKey, { accountId }) => {
75
+ const cred = await db.select().from(tables.accountCredentials).where(eq(tables.accountCredentials.accountId, accountId)).get();
76
+ return cred ? {
77
+ ...cred,
78
+ value: await decrypt(cred.value, encryptionKey)
79
+ } : void 0;
80
+ };
81
+
82
+ const getPaymentRequestsByBatchIdQuery = async (db, { batchId }) => {
83
+ return await db.select().from(tables.paymentRequest).where(
84
+ and(
85
+ eq(tables.paymentRequest.batchId, batchId),
86
+ isNull(tables.paymentRequest.deletedAt)
87
+ )
88
+ );
89
+ };
90
+
91
+ async function importAesKey(base64Key) {
92
+ const raw = Uint8Array.from(atob(base64Key), (c) => c.charCodeAt(0));
93
+ return await crypto.subtle.importKey("raw", raw, { name: "AES-GCM" }, false, [
94
+ "encrypt",
95
+ "decrypt"
96
+ ]);
97
+ }
98
+ async function encrypt(value, key) {
99
+ const encoder = new TextEncoder();
100
+ const iv = crypto.getRandomValues(new Uint8Array(12));
101
+ const ciphertext = await crypto.subtle.encrypt(
102
+ { name: "AES-GCM", iv },
103
+ key,
104
+ encoder.encode(value)
105
+ );
106
+ const combined = new Uint8Array(iv.length + ciphertext.byteLength);
107
+ combined.set(iv, 0);
108
+ combined.set(new Uint8Array(ciphertext), iv.length);
109
+ return btoa(String.fromCharCode(...combined));
110
+ }
111
+ async function decrypt(base64, key) {
112
+ const raw = Uint8Array.from(atob(base64), (c) => c.charCodeAt(0));
113
+ const iv = raw.slice(0, 12);
114
+ const ciphertext = raw.slice(12);
115
+ const decrypted = await crypto.subtle.decrypt(
116
+ { name: "AES-GCM", iv },
117
+ key,
118
+ ciphertext
119
+ );
120
+ return new TextDecoder().decode(decrypted);
121
+ }
122
+ function canonicalize(value) {
123
+ if (value === null || typeof value !== "object") return value;
124
+ if (Array.isArray(value)) {
125
+ return value.map(canonicalize);
126
+ }
127
+ const obj = value;
128
+ const sorted = Object.keys(obj).sort().reduce((acc, key) => {
129
+ acc[key] = canonicalize(obj[key]);
130
+ return acc;
131
+ }, {});
132
+ return sorted;
133
+ }
134
+ function checksum(input) {
135
+ const canonical = canonicalize(input);
136
+ const json = JSON.stringify(canonical);
137
+ return createHash("sha256").update(json).digest("hex");
138
+ }
139
+
140
+ const createCredentialsResolver = async (db, env) => {
141
+ const encryptionKey = await importAesKey(
142
+ (await env.SECRETS_STORE.get({
143
+ secretName: "BANK_SERVICE_ENCRYPTION_KEY"
144
+ })).data?.secretValue || ""
145
+ );
146
+ return (accountId) => getCredentialsByAccountId(db, encryptionKey, { accountId });
147
+ };
148
+
149
+ class AirBankConnector extends FinbricksConnector {
150
+ constructor(config) {
151
+ super("AIRBANK", config);
152
+ }
153
+ supportsBatch() {
154
+ return false;
155
+ }
156
+ }
157
+
158
+ class CreditasConnector extends FinbricksConnector {
159
+ constructor(config) {
160
+ super("CREDITAS", config);
161
+ }
162
+ /**
163
+ * Creditas bank doesn't support batch payments at all.
164
+ */
165
+ supportsBatch() {
166
+ return false;
167
+ }
168
+ }
169
+
170
+ class CSASConnector extends FinbricksConnector {
171
+ constructor(config) {
172
+ super("CSAS", config);
173
+ }
174
+ supportsBatch(paymentType) {
175
+ return paymentType === "DOMESTIC";
176
+ }
177
+ }
178
+
179
+ class FioConnector extends FinbricksConnector {
180
+ constructor(config) {
181
+ super("FIO", config);
182
+ }
183
+ /**
184
+ * FIO supports batch only for DOMESTIC (CZK) payments.
185
+ * SEPA and SWIFT batch support is planned by Finbricks.
186
+ */
187
+ supportsBatch(paymentType) {
188
+ return paymentType === "DOMESTIC";
189
+ }
190
+ }
191
+
192
+ class MonetaConnector extends FinbricksConnector {
193
+ constructor(config) {
194
+ super("MONETA", config);
195
+ }
196
+ /**
197
+ * MONETA supports batch only for DOMESTIC (CZK) payments.
198
+ * SEPA and SWIFT batch support is planned by Finbricks.
199
+ */
200
+ supportsBatch(paymentType) {
201
+ return paymentType === "DOMESTIC";
202
+ }
203
+ /**
204
+ * MONETA rejects all special characters in endToEndIdentification.
205
+ * Boundaries between segments are unambiguous without a separator —
206
+ * `VS`/`SS`/`KS` prefixes are alphabetic and values are always numeric,
207
+ * so the parsing regex `VS[:\s]*(\d+)` extracts each value correctly.
208
+ *
209
+ * Format: `VS1234SS5678KS0308` (max 30 chars).
210
+ * Confirmed by Finbricks support (2026-04-23).
211
+ */
212
+ buildEndToEndId(payment) {
213
+ return buildEndToEndId(payment, { separator: "" });
214
+ }
215
+ }
216
+
217
+ const initiateConnector = async ({
218
+ bank,
219
+ env,
220
+ connectedAccounts,
221
+ resolveCredentials
222
+ }) => {
223
+ switch (bank) {
224
+ case "ERSTE":
225
+ return new ErsteConnector({
226
+ API_KEY: (await env.SECRETS_STORE.get({
227
+ secretName: "BANK_SERVICE_ERSTE_API_KEY"
228
+ })).data?.secretValue || "",
229
+ CLIENT_ID: (await env.SECRETS_STORE.get({
230
+ secretName: "BANK_SERVICE_ERSTE_CLIENT_ID"
231
+ })).data?.secretValue || "",
232
+ CLIENT_SECRET: (await env.SECRETS_STORE.get({
233
+ secretName: "BANK_SERVICE_ERSTE_CLIENT_SECRET"
234
+ })).data?.secretValue || "",
235
+ REDIRECT_URI: env.REDIRECT_URI,
236
+ AUTH_URI: env.ERSTE_AUTH_URI,
237
+ PAYMENTS_URI: env.ERSTE_PAYMENTS_URI,
238
+ ACCOUNTS_URI: env.ERSTE_ACCOUNTS_URI,
239
+ connectedAccounts,
240
+ resolveCredentials
241
+ });
242
+ case "CREDITAS":
243
+ return new CreditasConnector({
244
+ BASE_URI: env.FINBRICKS_BASE_URI,
245
+ MERCHANT_ID: env.FINBRICKS_MERCHANT_ID,
246
+ PRIVATE_KEY_PEM: (await env.SECRETS_STORE.get({
247
+ secretName: "BANK_SERVICE_FINBRICKS_PRIVATE_KEY_PEM"
248
+ })).data?.secretValue || "",
249
+ REDIRECT_URI: env.REDIRECT_URI,
250
+ connectedAccounts,
251
+ resolveCredentials
252
+ });
253
+ case "MOCK_COBS":
254
+ return new MockCobsConnector({
255
+ BASE_URI: env.FINBRICKS_BASE_URI,
256
+ MERCHANT_ID: env.FINBRICKS_MERCHANT_ID,
257
+ PRIVATE_KEY_PEM: (await env.SECRETS_STORE.get({
258
+ secretName: "BANK_SERVICE_FINBRICKS_PRIVATE_KEY_PEM"
259
+ })).data?.secretValue || "",
260
+ REDIRECT_URI: env.REDIRECT_URI,
261
+ connectedAccounts,
262
+ resolveCredentials
263
+ });
264
+ case "FIO":
265
+ return new FioConnector({
266
+ BASE_URI: env.FINBRICKS_BASE_URI,
267
+ MERCHANT_ID: env.FINBRICKS_MERCHANT_ID,
268
+ PRIVATE_KEY_PEM: (await env.SECRETS_STORE.get({
269
+ secretName: "BANK_SERVICE_FINBRICKS_PRIVATE_KEY_PEM"
270
+ })).data?.secretValue || "",
271
+ REDIRECT_URI: env.REDIRECT_URI,
272
+ connectedAccounts,
273
+ resolveCredentials
274
+ });
275
+ case "MONETA":
276
+ return new MonetaConnector({
277
+ BASE_URI: env.FINBRICKS_BASE_URI,
278
+ MERCHANT_ID: env.FINBRICKS_MERCHANT_ID,
279
+ PRIVATE_KEY_PEM: (await env.SECRETS_STORE.get({
280
+ secretName: "BANK_SERVICE_FINBRICKS_PRIVATE_KEY_PEM"
281
+ })).data?.secretValue || "",
282
+ REDIRECT_URI: env.REDIRECT_URI,
283
+ connectedAccounts,
284
+ resolveCredentials
285
+ });
286
+ case "AIRBANK":
287
+ return new AirBankConnector({
288
+ BASE_URI: env.FINBRICKS_BASE_URI,
289
+ MERCHANT_ID: env.FINBRICKS_MERCHANT_ID,
290
+ PRIVATE_KEY_PEM: (await env.SECRETS_STORE.get({
291
+ secretName: "BANK_SERVICE_FINBRICKS_PRIVATE_KEY_PEM"
292
+ })).data?.secretValue || "",
293
+ REDIRECT_URI: env.REDIRECT_URI,
294
+ connectedAccounts,
295
+ resolveCredentials
296
+ });
297
+ case "CSAS":
298
+ return new CSASConnector({
299
+ BASE_URI: env.FINBRICKS_BASE_URI,
300
+ MERCHANT_ID: env.FINBRICKS_MERCHANT_ID,
301
+ PRIVATE_KEY_PEM: (await env.SECRETS_STORE.get({
302
+ secretName: "BANK_SERVICE_FINBRICKS_PRIVATE_KEY_PEM"
303
+ })).data?.secretValue || "",
304
+ REDIRECT_URI: env.REDIRECT_URI,
305
+ connectedAccounts,
306
+ resolveCredentials
307
+ });
308
+ case "KB":
309
+ return new KBConnector({
310
+ BASE_URI: env.FINBRICKS_BASE_URI,
311
+ MERCHANT_ID: env.FINBRICKS_MERCHANT_ID,
312
+ PRIVATE_KEY_PEM: (await env.SECRETS_STORE.get({
313
+ secretName: "BANK_SERVICE_FINBRICKS_PRIVATE_KEY_PEM"
314
+ })).data?.secretValue || "",
315
+ REDIRECT_URI: env.REDIRECT_URI,
316
+ connectedAccounts,
317
+ resolveCredentials
318
+ });
319
+ case "CSOB":
320
+ return new CsobConnector({
321
+ BASE_URI: env.FINBRICKS_BASE_URI,
322
+ MERCHANT_ID: env.FINBRICKS_MERCHANT_ID,
323
+ PRIVATE_KEY_PEM: (await env.SECRETS_STORE.get({
324
+ secretName: "BANK_SERVICE_FINBRICKS_PRIVATE_KEY_PEM"
325
+ })).data?.secretValue || "",
326
+ REDIRECT_URI: env.REDIRECT_URI,
327
+ connectedAccounts,
328
+ resolveCredentials
329
+ });
330
+ case "DBU":
331
+ return new DbuConnector({
332
+ BASE_URL: env.DBUCS_BASE_URI,
333
+ USERNAME: env.DBUCS_USERNAME,
334
+ APPLICATION_CODE: env.DBUCS_APPLICATION_CODE,
335
+ KV: env.BANK_KV,
336
+ API: env.DBU_CBS_BACKOFFICE_DEV,
337
+ REDIRECT_URI: env.REDIRECT_URI,
338
+ TX_AUTH_URI: env.DBUCS_TX_AUTH_URI,
339
+ connectedAccounts
340
+ });
341
+ default:
342
+ const mockConnector = new MockConnector();
343
+ mockConnector.connectedAccounts = connectedAccounts;
344
+ return mockConnector;
345
+ }
346
+ };
347
+
348
+ export { getPaymentRequestsByBatchIdQuery as a, getAccountByIdQuery as b, checksum as c, createCredentialsResolver as d, updatePaymentRequestStatusCommand as e, createPaymentCommand as f, getBatchByIdQuery as g, encrypt as h, initiateConnector as i, importAesKey as j, upsertBatchCommand as u };
package/dist/types.cjs CHANGED
@@ -1,55 +1,55 @@
1
1
  'use strict';
2
2
 
3
- const bank = require('./shared/bank.B4HTEp48.cjs');
3
+ const paymentDirection = require('./shared/bank.DMrkshJa.cjs');
4
4
  const database_schema = require('./shared/bank.9Yw4KHyl.cjs');
5
5
  const batchLifecycle = require('./shared/bank.NF8bZBy0.cjs');
6
6
  const generalCodes = require('@develit-io/general-codes');
7
7
  require('@develit-io/backend-sdk');
8
8
  require('date-fns');
9
+ require('drizzle-orm');
9
10
  require('jose');
10
11
  require('zod');
11
- require('drizzle-orm');
12
12
  require('drizzle-orm/zod');
13
13
  require('node:crypto');
14
14
  require('drizzle-orm/sqlite-core');
15
15
 
16
16
 
17
17
 
18
- exports.BASE_TERMINAL_STATUSES = bank.BASE_TERMINAL_STATUSES;
19
- exports.CsobConnector = bank.CsobConnector;
20
- exports.DbuConnector = bank.DbuConnector;
21
- exports.ErsteConnector = bank.ErsteConnector;
22
- exports.FINBRICKS_ENDPOINTS = bank.FINBRICKS_ENDPOINTS;
23
- exports.FinbricksClient = bank.FinbricksClient;
24
- exports.FinbricksConnector = bank.FinbricksConnector;
25
- exports.IBankConnector = bank.IBankConnector;
26
- exports.KBConnector = bank.KBConnector;
27
- exports.MockCobsConnector = bank.MockCobsConnector;
28
- exports.MockConnector = bank.MockConnector;
29
- exports.accountCredentialsInsertSchema = bank.accountCredentialsInsertSchema;
30
- exports.accountCredentialsSelectSchema = bank.accountCredentialsSelectSchema;
31
- exports.accountCredentialsUpdateSchema = bank.accountCredentialsUpdateSchema;
32
- exports.accountInsertSchema = bank.accountInsertSchema;
33
- exports.accountSelectSchema = bank.accountSelectSchema;
34
- exports.accountUpdateSchema = bank.accountUpdateSchema;
35
- exports.assignAccount = bank.assignAccount;
36
- exports.dbuAccountConfigSchema = bank.dbuAccountConfigSchema;
37
- exports.hasPaymentAccountAssigned = bank.hasPaymentAccountAssigned;
38
- exports.isPaymentCompleted = bank.isPaymentCompleted;
39
- exports.isPendingStatus = bank.isPendingStatus;
40
- exports.isProcessedStatus = bank.isProcessedStatus;
41
- exports.isTerminalStatus = bank.isTerminalStatus;
42
- exports.ottInsertSchema = bank.ottInsertSchema;
43
- exports.ottSelectSchema = bank.ottSelectSchema;
44
- exports.ottUpdateSchema = bank.ottUpdateSchema;
45
- exports.signFinbricksJws = bank.signFinbricksJws;
46
- exports.toBatchedPayment = bank.toBatchedPayment;
47
- exports.toBatchedPaymentFromPaymentRequest = bank.toBatchedPaymentFromPaymentRequest;
48
- exports.toCompletedPayment = bank.toCompletedPayment;
49
- exports.toIncomingPayment = bank.toIncomingPayment;
50
- exports.toPaymentRequestInsert = bank.toPaymentRequestInsert;
51
- exports.toPreparedPayment = bank.toPreparedPayment;
52
- exports.useFinbricksFetch = bank.useFinbricksFetch;
18
+ exports.BASE_TERMINAL_STATUSES = paymentDirection.BASE_TERMINAL_STATUSES;
19
+ exports.CsobConnector = paymentDirection.CsobConnector;
20
+ exports.DbuConnector = paymentDirection.DbuConnector;
21
+ exports.ErsteConnector = paymentDirection.ErsteConnector;
22
+ exports.FINBRICKS_ENDPOINTS = paymentDirection.FINBRICKS_ENDPOINTS;
23
+ exports.FinbricksClient = paymentDirection.FinbricksClient;
24
+ exports.FinbricksConnector = paymentDirection.FinbricksConnector;
25
+ exports.IBankConnector = paymentDirection.IBankConnector;
26
+ exports.KBConnector = paymentDirection.KBConnector;
27
+ exports.MockCobsConnector = paymentDirection.MockCobsConnector;
28
+ exports.MockConnector = paymentDirection.MockConnector;
29
+ exports.accountCredentialsInsertSchema = paymentDirection.accountCredentialsInsertSchema;
30
+ exports.accountCredentialsSelectSchema = paymentDirection.accountCredentialsSelectSchema;
31
+ exports.accountCredentialsUpdateSchema = paymentDirection.accountCredentialsUpdateSchema;
32
+ exports.accountInsertSchema = paymentDirection.accountInsertSchema;
33
+ exports.accountSelectSchema = paymentDirection.accountSelectSchema;
34
+ exports.accountUpdateSchema = paymentDirection.accountUpdateSchema;
35
+ exports.assignAccount = paymentDirection.assignAccount;
36
+ exports.dbuAccountConfigSchema = paymentDirection.dbuAccountConfigSchema;
37
+ exports.hasPaymentAccountAssigned = paymentDirection.hasPaymentAccountAssigned;
38
+ exports.isPaymentCompleted = paymentDirection.isPaymentCompleted;
39
+ exports.isPendingStatus = paymentDirection.isPendingStatus;
40
+ exports.isProcessedStatus = paymentDirection.isProcessedStatus;
41
+ exports.isTerminalStatus = paymentDirection.isTerminalStatus;
42
+ exports.ottInsertSchema = paymentDirection.ottInsertSchema;
43
+ exports.ottSelectSchema = paymentDirection.ottSelectSchema;
44
+ exports.ottUpdateSchema = paymentDirection.ottUpdateSchema;
45
+ exports.signFinbricksJws = paymentDirection.signFinbricksJws;
46
+ exports.toBatchedPayment = paymentDirection.toBatchedPayment;
47
+ exports.toBatchedPaymentFromPaymentRequest = paymentDirection.toBatchedPaymentFromPaymentRequest;
48
+ exports.toCompletedPayment = paymentDirection.toCompletedPayment;
49
+ exports.toIncomingPayment = paymentDirection.toIncomingPayment;
50
+ exports.toPaymentRequestInsert = paymentDirection.toPaymentRequestInsert;
51
+ exports.toPreparedPayment = paymentDirection.toPreparedPayment;
52
+ exports.useFinbricksFetch = paymentDirection.useFinbricksFetch;
53
53
  exports.ACCOUNT_STATUSES = database_schema.ACCOUNT_STATUSES;
54
54
  exports.BATCH_MODES = database_schema.BATCH_MODES;
55
55
  exports.BATCH_STATUES = database_schema.BATCH_STATUSES;
package/dist/types.d.cts CHANGED
@@ -1,7 +1,7 @@
1
- import { I as IBankConnector, b as ConnectorKey, g as ConnectedAccount, d as PaymentType, h as CredentialsResolver, i as AccountCredentialsInsertType, j as AccountInsertType, k as BatchedPayment, l as InitiatedBatch, m as IncomingPayment, n as InitiatedPayment, A as AccountSelectType, o as ParsedBankPayment, p as PaymentRequestStatus, q as AuthorizationCallbackResult, r as BatchMetadata, s as Currency, a as PaymentSelectType, P as PaymentRequestSelectType, u as AccountAssignedPayment, v as PreparedPayment, w as CompletedPayment, x as PaymentRequestInsertType } from './shared/bank.CGVCfq1B.cjs';
2
- export { y as ACCOUNT_STATUSES, z as AccountCredentialsPatchType, D as AccountCredentialsSelectType, E as AccountCredentialsUpdateType, F as AccountPatchType, G as AccountStatus, J as AccountUpdateType, K as AuthorizedBatch, M as BASE_TERMINAL_STATUSES, N as BATCH_MODES, O as BATCH_STATUES, O as BATCH_STATUSES, Q as BankAccountWithLastSync, R as BankCode, S as BatchInsertType, T as BatchLifecycle, U as BatchMode, V as BatchPayment, B as BatchSelectType, W as BatchStatus, X as CHARGE_BEARERS, Y as CONNECTOR_KEYS, Z as COUNTRY_CODES, _ as CREDENTIALS_TYPES, $ as ChargeBearer, a0 as CompletedBatch, c as ConfigEnvironmentBank, C as ConnectorConfig, a1 as CountryCode, a2 as CredentialsType, e as CurrencyCode, a3 as INSTRUCTION_PRIORITIES, a4 as InstructionPriority, L as LastSyncMetadata, a5 as PAYMENT_DIRECTIONS, a6 as PAYMENT_REQUEST_STATUSES, a7 as PAYMENT_STATUSES, a8 as PAYMENT_TYPES, a9 as PaymentDirection, aa as PaymentFailedInsertType, ab as PaymentInsertType, ac as PaymentLifecycle, ad as PaymentPreparedInsertType, ae as PaymentStatus, af as ProcessingBatch, ag as ReadyToSignBatch, ah as ResolvedCredentials, ai as TOKEN_TYPES, aj as TokenType, ak as accountCredentialsInsertSchema, al as accountCredentialsSelectSchema, am as accountCredentialsUpdateSchema, an as accountInsertSchema, ao as accountSelectSchema, ap as accountUpdateSchema, aq as hasPaymentAccountAssigned, ar as isBatchAuthorized, as as isBatchCompleted, at as isBatchFailed, au as isBatchInitiated, av as isBatchProcessing, aw as isBatchReadyToSign, ax as isPaymentCompleted, ay as isPendingStatus, az as isProcessedStatus, aA as isTerminalStatus } from './shared/bank.CGVCfq1B.cjs';
3
- import { d as FinbricksAccount, R as ReferenceType, S as SendPaymentInput } from './shared/bank.BqTBTu_N.cjs';
4
- export { e as FinbricksAccountTransactionsResponse, f as FinbricksAccountsListResponse, g as FinbricksAuthTokenResponse, h as FinbricksBatchResponse, i as FinbricksConnectAccountResponse, j as FinbricksPaymentResponse, k as FinbricksSupportedBank, F as FinbricksSupportedBanksResponse, b as SendPaymentSyncInput } from './shared/bank.BqTBTu_N.cjs';
1
+ import { I as IBankConnector, b as ConnectorKey, g as ConnectedAccount, d as PaymentType, h as CredentialsResolver, i as AccountCredentialsInsertType, j as AccountInsertType, k as BatchedPayment, l as InitiatedBatch, m as IncomingPayment, n as InitiatedPayment, A as AccountSelectType, o as ParsedBankPayment, p as PaymentRequestStatus, q as AuthorizationCallbackResult, r as BatchMetadata, s as Currency, a as PaymentSelectType, P as PaymentRequestSelectType, u as AccountAssignedPayment, v as PreparedPayment, w as CompletedPayment, x as PaymentRequestInsertType } from './shared/bank.CdkOsZE8.cjs';
2
+ export { y as ACCOUNT_STATUSES, z as AccountCredentialsPatchType, D as AccountCredentialsSelectType, E as AccountCredentialsUpdateType, F as AccountPatchType, G as AccountStatus, J as AccountUpdateType, K as AuthorizedBatch, M as BASE_TERMINAL_STATUSES, N as BATCH_MODES, O as BATCH_STATUES, O as BATCH_STATUSES, Q as BankAccountWithLastSync, R as BankCode, S as BatchInsertType, T as BatchLifecycle, U as BatchMode, V as BatchPayment, B as BatchSelectType, W as BatchStatus, X as CHARGE_BEARERS, Y as CONNECTOR_KEYS, Z as COUNTRY_CODES, _ as CREDENTIALS_TYPES, $ as ChargeBearer, a0 as CompletedBatch, c as ConfigEnvironmentBank, C as ConnectorConfig, a1 as CountryCode, a2 as CredentialsType, e as CurrencyCode, a3 as INSTRUCTION_PRIORITIES, a4 as InstructionPriority, L as LastSyncMetadata, a5 as PAYMENT_DIRECTIONS, a6 as PAYMENT_REQUEST_STATUSES, a7 as PAYMENT_STATUSES, a8 as PAYMENT_TYPES, a9 as PaymentDirection, aa as PaymentFailedInsertType, ab as PaymentInsertType, ac as PaymentLifecycle, ad as PaymentPreparedInsertType, ae as PaymentStatus, af as ProcessingBatch, ag as ReadyToSignBatch, ah as ResolvedCredentials, ai as TOKEN_TYPES, aj as TokenType, ak as accountCredentialsInsertSchema, al as accountCredentialsSelectSchema, am as accountCredentialsUpdateSchema, an as accountInsertSchema, ao as accountSelectSchema, ap as accountUpdateSchema, aq as hasPaymentAccountAssigned, ar as isBatchAuthorized, as as isBatchCompleted, at as isBatchFailed, au as isBatchInitiated, av as isBatchProcessing, aw as isBatchReadyToSign, ax as isPaymentCompleted, ay as isPendingStatus, az as isProcessedStatus, aA as isTerminalStatus } from './shared/bank.CdkOsZE8.cjs';
3
+ import { d as FinbricksAccount, R as ReferenceType, S as SendPaymentInput } from './shared/bank.D__RVhfE.cjs';
4
+ export { e as FinbricksAccountTransactionsResponse, f as FinbricksAccountsListResponse, g as FinbricksAuthTokenResponse, h as FinbricksBatchResponse, i as FinbricksConnectAccountResponse, j as FinbricksPaymentResponse, k as FinbricksSupportedBank, F as FinbricksSupportedBanksResponse, b as SendPaymentSyncInput } from './shared/bank.D__RVhfE.cjs';
5
5
  import { z } from 'zod';
6
6
  import { BaseEvent } from '@develit-io/backend-sdk';
7
7
  import * as drizzle_orm_zod from 'drizzle-orm/zod';
package/dist/types.d.mts CHANGED
@@ -1,7 +1,7 @@
1
- import { I as IBankConnector, b as ConnectorKey, g as ConnectedAccount, d as PaymentType, h as CredentialsResolver, i as AccountCredentialsInsertType, j as AccountInsertType, k as BatchedPayment, l as InitiatedBatch, m as IncomingPayment, n as InitiatedPayment, A as AccountSelectType, o as ParsedBankPayment, p as PaymentRequestStatus, q as AuthorizationCallbackResult, r as BatchMetadata, s as Currency, a as PaymentSelectType, P as PaymentRequestSelectType, u as AccountAssignedPayment, v as PreparedPayment, w as CompletedPayment, x as PaymentRequestInsertType } from './shared/bank.CGVCfq1B.mjs';
2
- export { y as ACCOUNT_STATUSES, z as AccountCredentialsPatchType, D as AccountCredentialsSelectType, E as AccountCredentialsUpdateType, F as AccountPatchType, G as AccountStatus, J as AccountUpdateType, K as AuthorizedBatch, M as BASE_TERMINAL_STATUSES, N as BATCH_MODES, O as BATCH_STATUES, O as BATCH_STATUSES, Q as BankAccountWithLastSync, R as BankCode, S as BatchInsertType, T as BatchLifecycle, U as BatchMode, V as BatchPayment, B as BatchSelectType, W as BatchStatus, X as CHARGE_BEARERS, Y as CONNECTOR_KEYS, Z as COUNTRY_CODES, _ as CREDENTIALS_TYPES, $ as ChargeBearer, a0 as CompletedBatch, c as ConfigEnvironmentBank, C as ConnectorConfig, a1 as CountryCode, a2 as CredentialsType, e as CurrencyCode, a3 as INSTRUCTION_PRIORITIES, a4 as InstructionPriority, L as LastSyncMetadata, a5 as PAYMENT_DIRECTIONS, a6 as PAYMENT_REQUEST_STATUSES, a7 as PAYMENT_STATUSES, a8 as PAYMENT_TYPES, a9 as PaymentDirection, aa as PaymentFailedInsertType, ab as PaymentInsertType, ac as PaymentLifecycle, ad as PaymentPreparedInsertType, ae as PaymentStatus, af as ProcessingBatch, ag as ReadyToSignBatch, ah as ResolvedCredentials, ai as TOKEN_TYPES, aj as TokenType, ak as accountCredentialsInsertSchema, al as accountCredentialsSelectSchema, am as accountCredentialsUpdateSchema, an as accountInsertSchema, ao as accountSelectSchema, ap as accountUpdateSchema, aq as hasPaymentAccountAssigned, ar as isBatchAuthorized, as as isBatchCompleted, at as isBatchFailed, au as isBatchInitiated, av as isBatchProcessing, aw as isBatchReadyToSign, ax as isPaymentCompleted, ay as isPendingStatus, az as isProcessedStatus, aA as isTerminalStatus } from './shared/bank.CGVCfq1B.mjs';
3
- import { d as FinbricksAccount, R as ReferenceType, S as SendPaymentInput } from './shared/bank.SSqNFzWn.mjs';
4
- export { e as FinbricksAccountTransactionsResponse, f as FinbricksAccountsListResponse, g as FinbricksAuthTokenResponse, h as FinbricksBatchResponse, i as FinbricksConnectAccountResponse, j as FinbricksPaymentResponse, k as FinbricksSupportedBank, F as FinbricksSupportedBanksResponse, b as SendPaymentSyncInput } from './shared/bank.SSqNFzWn.mjs';
1
+ import { I as IBankConnector, b as ConnectorKey, g as ConnectedAccount, d as PaymentType, h as CredentialsResolver, i as AccountCredentialsInsertType, j as AccountInsertType, k as BatchedPayment, l as InitiatedBatch, m as IncomingPayment, n as InitiatedPayment, A as AccountSelectType, o as ParsedBankPayment, p as PaymentRequestStatus, q as AuthorizationCallbackResult, r as BatchMetadata, s as Currency, a as PaymentSelectType, P as PaymentRequestSelectType, u as AccountAssignedPayment, v as PreparedPayment, w as CompletedPayment, x as PaymentRequestInsertType } from './shared/bank.CdkOsZE8.mjs';
2
+ export { y as ACCOUNT_STATUSES, z as AccountCredentialsPatchType, D as AccountCredentialsSelectType, E as AccountCredentialsUpdateType, F as AccountPatchType, G as AccountStatus, J as AccountUpdateType, K as AuthorizedBatch, M as BASE_TERMINAL_STATUSES, N as BATCH_MODES, O as BATCH_STATUES, O as BATCH_STATUSES, Q as BankAccountWithLastSync, R as BankCode, S as BatchInsertType, T as BatchLifecycle, U as BatchMode, V as BatchPayment, B as BatchSelectType, W as BatchStatus, X as CHARGE_BEARERS, Y as CONNECTOR_KEYS, Z as COUNTRY_CODES, _ as CREDENTIALS_TYPES, $ as ChargeBearer, a0 as CompletedBatch, c as ConfigEnvironmentBank, C as ConnectorConfig, a1 as CountryCode, a2 as CredentialsType, e as CurrencyCode, a3 as INSTRUCTION_PRIORITIES, a4 as InstructionPriority, L as LastSyncMetadata, a5 as PAYMENT_DIRECTIONS, a6 as PAYMENT_REQUEST_STATUSES, a7 as PAYMENT_STATUSES, a8 as PAYMENT_TYPES, a9 as PaymentDirection, aa as PaymentFailedInsertType, ab as PaymentInsertType, ac as PaymentLifecycle, ad as PaymentPreparedInsertType, ae as PaymentStatus, af as ProcessingBatch, ag as ReadyToSignBatch, ah as ResolvedCredentials, ai as TOKEN_TYPES, aj as TokenType, ak as accountCredentialsInsertSchema, al as accountCredentialsSelectSchema, am as accountCredentialsUpdateSchema, an as accountInsertSchema, ao as accountSelectSchema, ap as accountUpdateSchema, aq as hasPaymentAccountAssigned, ar as isBatchAuthorized, as as isBatchCompleted, at as isBatchFailed, au as isBatchInitiated, av as isBatchProcessing, aw as isBatchReadyToSign, ax as isPaymentCompleted, ay as isPendingStatus, az as isProcessedStatus, aA as isTerminalStatus } from './shared/bank.CdkOsZE8.mjs';
3
+ import { d as FinbricksAccount, R as ReferenceType, S as SendPaymentInput } from './shared/bank.BuwSQL_7.mjs';
4
+ export { e as FinbricksAccountTransactionsResponse, f as FinbricksAccountsListResponse, g as FinbricksAuthTokenResponse, h as FinbricksBatchResponse, i as FinbricksConnectAccountResponse, j as FinbricksPaymentResponse, k as FinbricksSupportedBank, F as FinbricksSupportedBanksResponse, b as SendPaymentSyncInput } from './shared/bank.BuwSQL_7.mjs';
5
5
  import { z } from 'zod';
6
6
  import { BaseEvent } from '@develit-io/backend-sdk';
7
7
  import * as drizzle_orm_zod from 'drizzle-orm/zod';
package/dist/types.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { I as IBankConnector, b as ConnectorKey, g as ConnectedAccount, d as PaymentType, h as CredentialsResolver, i as AccountCredentialsInsertType, j as AccountInsertType, k as BatchedPayment, l as InitiatedBatch, m as IncomingPayment, n as InitiatedPayment, A as AccountSelectType, o as ParsedBankPayment, p as PaymentRequestStatus, q as AuthorizationCallbackResult, r as BatchMetadata, s as Currency, a as PaymentSelectType, P as PaymentRequestSelectType, u as AccountAssignedPayment, v as PreparedPayment, w as CompletedPayment, x as PaymentRequestInsertType } from './shared/bank.CGVCfq1B.js';
2
- export { y as ACCOUNT_STATUSES, z as AccountCredentialsPatchType, D as AccountCredentialsSelectType, E as AccountCredentialsUpdateType, F as AccountPatchType, G as AccountStatus, J as AccountUpdateType, K as AuthorizedBatch, M as BASE_TERMINAL_STATUSES, N as BATCH_MODES, O as BATCH_STATUES, O as BATCH_STATUSES, Q as BankAccountWithLastSync, R as BankCode, S as BatchInsertType, T as BatchLifecycle, U as BatchMode, V as BatchPayment, B as BatchSelectType, W as BatchStatus, X as CHARGE_BEARERS, Y as CONNECTOR_KEYS, Z as COUNTRY_CODES, _ as CREDENTIALS_TYPES, $ as ChargeBearer, a0 as CompletedBatch, c as ConfigEnvironmentBank, C as ConnectorConfig, a1 as CountryCode, a2 as CredentialsType, e as CurrencyCode, a3 as INSTRUCTION_PRIORITIES, a4 as InstructionPriority, L as LastSyncMetadata, a5 as PAYMENT_DIRECTIONS, a6 as PAYMENT_REQUEST_STATUSES, a7 as PAYMENT_STATUSES, a8 as PAYMENT_TYPES, a9 as PaymentDirection, aa as PaymentFailedInsertType, ab as PaymentInsertType, ac as PaymentLifecycle, ad as PaymentPreparedInsertType, ae as PaymentStatus, af as ProcessingBatch, ag as ReadyToSignBatch, ah as ResolvedCredentials, ai as TOKEN_TYPES, aj as TokenType, ak as accountCredentialsInsertSchema, al as accountCredentialsSelectSchema, am as accountCredentialsUpdateSchema, an as accountInsertSchema, ao as accountSelectSchema, ap as accountUpdateSchema, aq as hasPaymentAccountAssigned, ar as isBatchAuthorized, as as isBatchCompleted, at as isBatchFailed, au as isBatchInitiated, av as isBatchProcessing, aw as isBatchReadyToSign, ax as isPaymentCompleted, ay as isPendingStatus, az as isProcessedStatus, aA as isTerminalStatus } from './shared/bank.CGVCfq1B.js';
3
- import { d as FinbricksAccount, R as ReferenceType, S as SendPaymentInput } from './shared/bank.CYJ75FSr.js';
4
- export { e as FinbricksAccountTransactionsResponse, f as FinbricksAccountsListResponse, g as FinbricksAuthTokenResponse, h as FinbricksBatchResponse, i as FinbricksConnectAccountResponse, j as FinbricksPaymentResponse, k as FinbricksSupportedBank, F as FinbricksSupportedBanksResponse, b as SendPaymentSyncInput } from './shared/bank.CYJ75FSr.js';
1
+ import { I as IBankConnector, b as ConnectorKey, g as ConnectedAccount, d as PaymentType, h as CredentialsResolver, i as AccountCredentialsInsertType, j as AccountInsertType, k as BatchedPayment, l as InitiatedBatch, m as IncomingPayment, n as InitiatedPayment, A as AccountSelectType, o as ParsedBankPayment, p as PaymentRequestStatus, q as AuthorizationCallbackResult, r as BatchMetadata, s as Currency, a as PaymentSelectType, P as PaymentRequestSelectType, u as AccountAssignedPayment, v as PreparedPayment, w as CompletedPayment, x as PaymentRequestInsertType } from './shared/bank.CdkOsZE8.js';
2
+ export { y as ACCOUNT_STATUSES, z as AccountCredentialsPatchType, D as AccountCredentialsSelectType, E as AccountCredentialsUpdateType, F as AccountPatchType, G as AccountStatus, J as AccountUpdateType, K as AuthorizedBatch, M as BASE_TERMINAL_STATUSES, N as BATCH_MODES, O as BATCH_STATUES, O as BATCH_STATUSES, Q as BankAccountWithLastSync, R as BankCode, S as BatchInsertType, T as BatchLifecycle, U as BatchMode, V as BatchPayment, B as BatchSelectType, W as BatchStatus, X as CHARGE_BEARERS, Y as CONNECTOR_KEYS, Z as COUNTRY_CODES, _ as CREDENTIALS_TYPES, $ as ChargeBearer, a0 as CompletedBatch, c as ConfigEnvironmentBank, C as ConnectorConfig, a1 as CountryCode, a2 as CredentialsType, e as CurrencyCode, a3 as INSTRUCTION_PRIORITIES, a4 as InstructionPriority, L as LastSyncMetadata, a5 as PAYMENT_DIRECTIONS, a6 as PAYMENT_REQUEST_STATUSES, a7 as PAYMENT_STATUSES, a8 as PAYMENT_TYPES, a9 as PaymentDirection, aa as PaymentFailedInsertType, ab as PaymentInsertType, ac as PaymentLifecycle, ad as PaymentPreparedInsertType, ae as PaymentStatus, af as ProcessingBatch, ag as ReadyToSignBatch, ah as ResolvedCredentials, ai as TOKEN_TYPES, aj as TokenType, ak as accountCredentialsInsertSchema, al as accountCredentialsSelectSchema, am as accountCredentialsUpdateSchema, an as accountInsertSchema, ao as accountSelectSchema, ap as accountUpdateSchema, aq as hasPaymentAccountAssigned, ar as isBatchAuthorized, as as isBatchCompleted, at as isBatchFailed, au as isBatchInitiated, av as isBatchProcessing, aw as isBatchReadyToSign, ax as isPaymentCompleted, ay as isPendingStatus, az as isProcessedStatus, aA as isTerminalStatus } from './shared/bank.CdkOsZE8.js';
3
+ import { d as FinbricksAccount, R as ReferenceType, S as SendPaymentInput } from './shared/bank.IAc8kIC-.js';
4
+ export { e as FinbricksAccountTransactionsResponse, f as FinbricksAccountsListResponse, g as FinbricksAuthTokenResponse, h as FinbricksBatchResponse, i as FinbricksConnectAccountResponse, j as FinbricksPaymentResponse, k as FinbricksSupportedBank, F as FinbricksSupportedBanksResponse, b as SendPaymentSyncInput } from './shared/bank.IAc8kIC-.js';
5
5
  import { z } from 'zod';
6
6
  import { BaseEvent } from '@develit-io/backend-sdk';
7
7
  import * as drizzle_orm_zod from 'drizzle-orm/zod';
package/dist/types.mjs CHANGED
@@ -1,12 +1,12 @@
1
- export { B as BASE_TERMINAL_STATUSES, C as CsobConnector, D as DbuConnector, E as ErsteConnector, F as FINBRICKS_ENDPOINTS, a as FinbricksClient, b as FinbricksConnector, I as IBankConnector, K as KBConnector, M as MockCobsConnector, c as MockConnector, d as accountCredentialsInsertSchema, e as accountCredentialsSelectSchema, f as accountCredentialsUpdateSchema, g as accountInsertSchema, h as accountSelectSchema, i as accountUpdateSchema, j as assignAccount, k as dbuAccountConfigSchema, l as hasPaymentAccountAssigned, m as isPaymentCompleted, n as isPendingStatus, o as isProcessedStatus, p as isTerminalStatus, q as ottInsertSchema, r as ottSelectSchema, s as ottUpdateSchema, t as signFinbricksJws, u as toBatchedPayment, v as toBatchedPaymentFromPaymentRequest, w as toCompletedPayment, x as toIncomingPayment, y as toPaymentRequestInsert, z as toPreparedPayment, A as useFinbricksFetch } from './shared/bank.Bw9ayUKF.mjs';
1
+ export { B as BASE_TERMINAL_STATUSES, C as CsobConnector, D as DbuConnector, E as ErsteConnector, F as FINBRICKS_ENDPOINTS, a as FinbricksClient, b as FinbricksConnector, I as IBankConnector, K as KBConnector, M as MockCobsConnector, c as MockConnector, d as accountCredentialsInsertSchema, e as accountCredentialsSelectSchema, f as accountCredentialsUpdateSchema, g as accountInsertSchema, h as accountSelectSchema, i as accountUpdateSchema, j as assignAccount, k as dbuAccountConfigSchema, l as hasPaymentAccountAssigned, m as isPaymentCompleted, n as isPendingStatus, o as isProcessedStatus, p as isTerminalStatus, q as ottInsertSchema, r as ottSelectSchema, s as ottUpdateSchema, t as signFinbricksJws, u as toBatchedPayment, v as toBatchedPaymentFromPaymentRequest, w as toCompletedPayment, x as toIncomingPayment, y as toPaymentRequestInsert, z as toPreparedPayment, A as useFinbricksFetch } from './shared/bank.D0iIfh-X.mjs';
2
2
  export { A as ACCOUNT_STATUSES, B as BATCH_MODES, a as BATCH_STATUES, a as BATCH_STATUSES, C as CHARGE_BEARERS, b as CONNECTOR_KEYS, c as COUNTRY_CODES, d as CREDENTIALS_TYPES, I as INSTRUCTION_PRIORITIES, P as PAYMENT_DIRECTIONS, e as PAYMENT_REQUEST_STATUSES, f as PAYMENT_STATUSES, g as PAYMENT_TYPES, T as TOKEN_TYPES } from './shared/bank.BzDNLxB_.mjs';
3
3
  export { i as isBatchAuthorized, a as isBatchCompleted, b as isBatchFailed, c as isBatchInitiated, d as isBatchProcessing, e as isBatchReadyToSign } from './shared/bank.XqSw509X.mjs';
4
4
  export { BANK_CODES, CURRENCY_CODES } from '@develit-io/general-codes';
5
5
  import '@develit-io/backend-sdk';
6
6
  import 'date-fns';
7
+ import 'drizzle-orm';
7
8
  import 'jose';
8
9
  import 'zod';
9
- import 'drizzle-orm';
10
10
  import 'drizzle-orm/zod';
11
11
  import 'node:crypto';
12
12
  import 'drizzle-orm/sqlite-core';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@develit-services/bank",
3
- "version": "5.4.1",
3
+ "version": "5.5.0",
4
4
  "author": "Develit.io s.r.o.",
5
5
  "type": "module",
6
6
  "exports": {