@develit-services/bank 0.0.44 → 0.1.1
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 +1 -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 +1 -1
- package/dist/export/worker.cjs +138 -569
- package/dist/export/worker.d.cts +96 -36
- package/dist/export/worker.d.mts +97 -35
- package/dist/export/worker.d.ts +96 -36
- package/dist/export/worker.mjs +130 -558
- package/dist/export/workflows.cjs +21 -0
- package/dist/export/workflows.d.cts +2 -0
- package/dist/export/workflows.d.mts +2 -0
- package/dist/export/workflows.d.ts +2 -0
- package/dist/export/workflows.mjs +15 -0
- package/dist/export/wrangler.cjs +7 -0
- package/dist/export/wrangler.d.cts +5 -0
- package/dist/export/wrangler.d.mts +5 -0
- package/dist/export/wrangler.d.ts +5 -0
- package/dist/export/wrangler.mjs +7 -0
- package/dist/shared/{bank.6WoCPIFy.mjs → bank.8lAQLFNI.mjs} +1 -1
- package/dist/shared/{bank.0KTS9nMz.d.ts → bank.BQSnGZ-3.d.cts} +33 -80
- package/dist/shared/bank.CH22Zrdv.d.cts +20 -0
- package/dist/shared/bank.CH22Zrdv.d.mts +20 -0
- package/dist/shared/bank.CH22Zrdv.d.ts +20 -0
- package/dist/shared/{bank.DmzkJQVU.d.cts → bank.CouYVuOf.d.ts} +33 -80
- package/dist/shared/{bank.BPcrbUBa.cjs → bank.DISsqBb6.cjs} +1 -1
- package/dist/shared/bank.DJ9d1yaR.mjs +269 -0
- package/dist/shared/bank.DOJ8gbXQ.cjs +278 -0
- package/dist/shared/{bank.NTyp2XAv.d.mts → bank.DW3cHO1u.d.mts} +33 -80
- package/dist/shared/{bank.BWcFhTu1.mjs → bank.RUV2HUFo.mjs} +11 -11
- package/dist/shared/{bank.BVzOzXdX.cjs → bank.UfRkUN2y.cjs} +11 -11
- package/dist/shared/{bank.CCilUVCi.d.ts → bank.mub5_S4r.d.cts} +4 -21
- package/dist/shared/{bank.CCilUVCi.d.cts → bank.mub5_S4r.d.mts} +4 -21
- package/dist/shared/{bank.CCilUVCi.d.mts → bank.mub5_S4r.d.ts} +4 -21
- package/dist/types.cjs +2 -2
- package/dist/types.d.cts +16 -9
- package/dist/types.d.mts +16 -9
- package/dist/types.d.ts +16 -9
- package/dist/types.mjs +2 -2
- package/package.json +6 -1
package/dist/export/worker.cjs
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
const export_workflows = require('../shared/bank.DOJ8gbXQ.cjs');
|
|
5
4
|
const backendSdk = require('@develit-io/backend-sdk');
|
|
6
5
|
const cloudflare_workers = require('cloudflare:workers');
|
|
7
6
|
const d1 = require('drizzle-orm/d1');
|
|
8
|
-
const database_schema = require('../shared/bank.
|
|
7
|
+
const database_schema = require('../shared/bank.UfRkUN2y.cjs');
|
|
9
8
|
require('jose');
|
|
10
9
|
const generalCodes = require('@develit-io/general-codes');
|
|
11
10
|
const zod = require('zod');
|
|
12
11
|
const drizzleOrm = require('drizzle-orm');
|
|
13
|
-
|
|
12
|
+
require('cloudflare:workflows');
|
|
13
|
+
require('../shared/bank.DISsqBb6.cjs');
|
|
14
14
|
require('drizzle-orm/sqlite-core');
|
|
15
15
|
require('date-fns');
|
|
16
16
|
require('drizzle-zod');
|
|
@@ -30,18 +30,6 @@ const upsertAccountCommand = (db, { account }) => {
|
|
|
30
30
|
};
|
|
31
31
|
};
|
|
32
32
|
|
|
33
|
-
const createPaymentCommand = (db, { payment }) => {
|
|
34
|
-
return {
|
|
35
|
-
command: db.insert(database_schema.tables.payment).values(payment).returning()
|
|
36
|
-
};
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
const updatePaymentCommand = (db, { payment }) => {
|
|
40
|
-
return {
|
|
41
|
-
command: db.update(database_schema.tables.payment).set(payment).where(drizzleOrm.eq(database_schema.tables.payment.id, payment.id)).returning()
|
|
42
|
-
};
|
|
43
|
-
};
|
|
44
|
-
|
|
45
33
|
const upsertBatchCommand = (db, { batch }) => {
|
|
46
34
|
const id = batch.id || backendSdk.uuidv4();
|
|
47
35
|
const command = db.insert(database_schema.tables.batch).values({
|
|
@@ -102,23 +90,10 @@ const deleteAccountCredentialsCommand = (db, { accountId }) => {
|
|
|
102
90
|
};
|
|
103
91
|
};
|
|
104
92
|
|
|
105
|
-
const updateAccountLastSyncCommand = (db, { lastSyncedAt, accountId }) => {
|
|
106
|
-
const command = db.update(database_schema.tables.account).set({
|
|
107
|
-
lastSyncedAt
|
|
108
|
-
}).where(drizzleOrm.eq(database_schema.tables.account.id, accountId)).returning();
|
|
109
|
-
return {
|
|
110
|
-
command
|
|
111
|
-
};
|
|
112
|
-
};
|
|
113
|
-
|
|
114
93
|
const getAccountByIbanQuery = async (db, { iban }) => {
|
|
115
94
|
return await db.select().from(database_schema.tables.account).where(drizzleOrm.eq(database_schema.tables.account.iban, iban)).get();
|
|
116
95
|
};
|
|
117
96
|
|
|
118
|
-
const getAccountByIdQuery = async (db, { accountId }) => {
|
|
119
|
-
return await db.select().from(database_schema.tables.account).where(drizzleOrm.eq(database_schema.tables.account.id, accountId)).get();
|
|
120
|
-
};
|
|
121
|
-
|
|
122
97
|
const getAllAccountsQuery = async (db) => {
|
|
123
98
|
const accountsWithExpiration = await db.select().from(database_schema.tables.account).leftJoin(
|
|
124
99
|
database_schema.tables.accountCredentials,
|
|
@@ -228,11 +203,6 @@ const getBatchesQuery = async (db, {
|
|
|
228
203
|
};
|
|
229
204
|
};
|
|
230
205
|
|
|
231
|
-
const getCredentialsByAccountId = async (db, { accountId }) => {
|
|
232
|
-
const cred = await db.select().from(database_schema.tables.accountCredentials).where(drizzleOrm.eq(database_schema.tables.accountCredentials.accountId, accountId)).get();
|
|
233
|
-
return cred;
|
|
234
|
-
};
|
|
235
|
-
|
|
236
206
|
const getAccountOpenBatchesQuery = async (db, { accountId }) => {
|
|
237
207
|
return await db.select().from(database_schema.tables.batch).where(
|
|
238
208
|
drizzleOrm.and(
|
|
@@ -251,82 +221,6 @@ const getPaymentByRefIdQuery = async (db, { refId }) => {
|
|
|
251
221
|
return payment;
|
|
252
222
|
};
|
|
253
223
|
|
|
254
|
-
const getPaymentsByBankRefIdsQuery = async (db, { ids }) => {
|
|
255
|
-
return await db.select().from(database_schema.tables.payment).where(drizzleOrm.inArray(database_schema.tables.payment.bankRefId, ids));
|
|
256
|
-
};
|
|
257
|
-
|
|
258
|
-
class CreditasConnector extends database_schema.FinbricksConnector {
|
|
259
|
-
constructor(config) {
|
|
260
|
-
super("CREDITAS", config);
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
class FioConnector extends database_schema.FinbricksConnector {
|
|
265
|
-
constructor(config) {
|
|
266
|
-
super("FIO", config);
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
class MonetaConnector extends database_schema.FinbricksConnector {
|
|
271
|
-
constructor(config) {
|
|
272
|
-
super("MONETA", config);
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
|
|
276
|
-
const initiateConnector = ({
|
|
277
|
-
bank,
|
|
278
|
-
env,
|
|
279
|
-
connectedAccounts
|
|
280
|
-
}) => {
|
|
281
|
-
switch (bank) {
|
|
282
|
-
case "ERSTE":
|
|
283
|
-
return new database_schema.ErsteConnector({
|
|
284
|
-
API_KEY: env.ERSTE_API_KEY,
|
|
285
|
-
CLIENT_ID: env.ERSTE_CLIENT_ID,
|
|
286
|
-
CLIENT_SECRET: env.ERSTE_CLIENT_SECRET,
|
|
287
|
-
REDIRECT_URI: env.REDIRECT_URI,
|
|
288
|
-
AUTH_URI: env.ERSTE_AUTH_URI,
|
|
289
|
-
PAYMENTS_URI: env.ERSTE_PAYMENTS_URI,
|
|
290
|
-
ACCOUNTS_URI: env.ERSTE_ACCOUNTS_URI,
|
|
291
|
-
connectedAccounts
|
|
292
|
-
});
|
|
293
|
-
case "CREDITAS":
|
|
294
|
-
return new CreditasConnector({
|
|
295
|
-
BASE_URI: env.FINBRICKS_BASE_URI,
|
|
296
|
-
MERCHANT_ID: env.FINBRICKS_MERCHANT_ID,
|
|
297
|
-
PRIVATE_KEY_PEM: env.FINBRICKS_PRIVATE_KEY_PEM,
|
|
298
|
-
REDIRECT_URI: env.REDIRECT_URI,
|
|
299
|
-
connectedAccounts
|
|
300
|
-
});
|
|
301
|
-
case "MOCK_COBS":
|
|
302
|
-
return new mockCobs_connector.MockCobsConnector({
|
|
303
|
-
BASE_URI: env.FINBRICKS_BASE_URI,
|
|
304
|
-
MERCHANT_ID: env.FINBRICKS_MERCHANT_ID,
|
|
305
|
-
PRIVATE_KEY_PEM: env.FINBRICKS_PRIVATE_KEY_PEM,
|
|
306
|
-
REDIRECT_URI: env.REDIRECT_URI,
|
|
307
|
-
connectedAccounts
|
|
308
|
-
});
|
|
309
|
-
case "FIO":
|
|
310
|
-
return new FioConnector({
|
|
311
|
-
BASE_URI: env.FINBRICKS_BASE_URI,
|
|
312
|
-
MERCHANT_ID: env.FINBRICKS_MERCHANT_ID,
|
|
313
|
-
PRIVATE_KEY_PEM: env.FINBRICKS_PRIVATE_KEY_PEM,
|
|
314
|
-
REDIRECT_URI: env.REDIRECT_URI,
|
|
315
|
-
connectedAccounts
|
|
316
|
-
});
|
|
317
|
-
case "MONETA":
|
|
318
|
-
return new MonetaConnector({
|
|
319
|
-
BASE_URI: env.FINBRICKS_BASE_URI,
|
|
320
|
-
MERCHANT_ID: env.FINBRICKS_MERCHANT_ID,
|
|
321
|
-
PRIVATE_KEY_PEM: env.FINBRICKS_PRIVATE_KEY_PEM,
|
|
322
|
-
REDIRECT_URI: env.REDIRECT_URI,
|
|
323
|
-
connectedAccounts
|
|
324
|
-
});
|
|
325
|
-
default:
|
|
326
|
-
return new database_schema.MockConnector();
|
|
327
|
-
}
|
|
328
|
-
};
|
|
329
|
-
|
|
330
224
|
const seperateSupportedPayments = (mappedPayments, accounts) => {
|
|
331
225
|
const [supportedPayments, unsupportedPayments] = mappedPayments.reduce(
|
|
332
226
|
([valid, invalid], payment) => {
|
|
@@ -440,6 +334,26 @@ const getPaymentsInputSchema = zod.z.object({
|
|
|
440
334
|
const syncAccountInputSchema = zod.z.object({
|
|
441
335
|
accountId: zod.z.uuid()
|
|
442
336
|
});
|
|
337
|
+
zod.z.object({
|
|
338
|
+
instanceId: zod.z.string(),
|
|
339
|
+
details: backendSdk.workflowInstanceStatusSchema
|
|
340
|
+
});
|
|
341
|
+
|
|
342
|
+
const syncAccountStatusInputSchema = zod.z.object({
|
|
343
|
+
accountId: zod.z.uuid()
|
|
344
|
+
});
|
|
345
|
+
zod.z.object({
|
|
346
|
+
instanceId: zod.z.string(),
|
|
347
|
+
details: backendSdk.workflowInstanceStatusSchema
|
|
348
|
+
});
|
|
349
|
+
|
|
350
|
+
const syncAccountRestartInputSchema = zod.z.object({
|
|
351
|
+
accountId: zod.z.uuid()
|
|
352
|
+
});
|
|
353
|
+
zod.z.object({
|
|
354
|
+
instanceId: zod.z.string(),
|
|
355
|
+
details: backendSdk.workflowInstanceStatusSchema
|
|
356
|
+
});
|
|
443
357
|
|
|
444
358
|
const updateAccountInputSchema = zod.z.object({
|
|
445
359
|
account: database_schema.accountInsertSchema
|
|
@@ -475,13 +389,21 @@ let BankServiceBase = class extends backendSdk.develitWorker(cloudflare_workers.
|
|
|
475
389
|
for (const account of accounts.filter(
|
|
476
390
|
(acc) => acc.connectorKey === connectorKey
|
|
477
391
|
)) {
|
|
392
|
+
if (!account.lastSyncedAt) {
|
|
393
|
+
this.log({
|
|
394
|
+
message: `Skipping account ${account.id} as it has no lastSyncedAt date.`
|
|
395
|
+
});
|
|
396
|
+
continue;
|
|
397
|
+
}
|
|
478
398
|
const payments = await this.bankConnector.getAllAccountPayments({
|
|
479
399
|
db: this.db,
|
|
480
|
-
|
|
481
|
-
account
|
|
400
|
+
environment: this.env.ENVIRONMENT,
|
|
401
|
+
account,
|
|
402
|
+
filter: {
|
|
403
|
+
dateFrom: account.lastSyncedAt
|
|
404
|
+
}
|
|
482
405
|
});
|
|
483
406
|
if (!payments || payments.length === 0) continue;
|
|
484
|
-
this.log(payments);
|
|
485
407
|
payments.forEach((payment) => {
|
|
486
408
|
payment.direction = database_schema.getPaymentDirection(payment, account.iban);
|
|
487
409
|
});
|
|
@@ -490,22 +412,48 @@ let BankServiceBase = class extends backendSdk.develitWorker(cloudflare_workers.
|
|
|
490
412
|
}
|
|
491
413
|
if (allFetchedPayments.length < 1) return;
|
|
492
414
|
const bankRefIds = allFetchedPayments.map((payment) => payment.bankRefId).filter(Boolean);
|
|
493
|
-
const alreadyExistingPayments = await getPaymentsByBankRefIdsQuery(
|
|
415
|
+
const alreadyExistingPayments = await export_workflows.getPaymentsByBankRefIdsQuery(
|
|
494
416
|
this.db,
|
|
495
417
|
{
|
|
496
418
|
ids: bankRefIds
|
|
497
419
|
}
|
|
498
420
|
);
|
|
421
|
+
const eventsToPush = [];
|
|
499
422
|
const paymentsCommands = allFetchedPayments.map((payment) => {
|
|
500
423
|
const isAlreadyExisting = alreadyExistingPayments.some(
|
|
501
424
|
(existingPayment) => existingPayment.bankRefId === payment.bankRefId
|
|
502
425
|
);
|
|
503
|
-
if (isAlreadyExisting)
|
|
504
|
-
|
|
505
|
-
|
|
426
|
+
if (isAlreadyExisting) {
|
|
427
|
+
eventsToPush.push({
|
|
428
|
+
eventType: "BANK_PAYMENT",
|
|
429
|
+
eventSignal: "paymentUpdated",
|
|
430
|
+
bankPayment: payment,
|
|
431
|
+
metadata: {
|
|
432
|
+
correlationId: payment.correlationId,
|
|
433
|
+
entityId: payment.id,
|
|
434
|
+
idempotencySuffix: payment.status,
|
|
435
|
+
timestamp: (/* @__PURE__ */ new Date()).toDateString()
|
|
436
|
+
}
|
|
437
|
+
});
|
|
438
|
+
return export_workflows.updatePaymentCommand(this.db, { payment }).command;
|
|
439
|
+
}
|
|
440
|
+
eventsToPush.push({
|
|
441
|
+
eventType: "BANK_PAYMENT",
|
|
442
|
+
eventSignal: "paymentCreated",
|
|
443
|
+
bankPayment: payment,
|
|
444
|
+
metadata: {
|
|
445
|
+
correlationId: payment.correlationId,
|
|
446
|
+
entityId: payment.id,
|
|
447
|
+
timestamp: (/* @__PURE__ */ new Date()).toDateString()
|
|
448
|
+
}
|
|
449
|
+
});
|
|
450
|
+
return export_workflows.createPaymentCommand(this.db, { payment }).command;
|
|
506
451
|
});
|
|
507
452
|
await this.db.batch([paymentsCommands[0], ...paymentsCommands.slice(1)]);
|
|
508
|
-
|
|
453
|
+
await this.pushToQueue(
|
|
454
|
+
this.env.QUEUE_BUS_QUEUE,
|
|
455
|
+
eventsToPush
|
|
456
|
+
);
|
|
509
457
|
for (const account of accounts) {
|
|
510
458
|
const paymentsForAccount = allFetchedPayments.filter(
|
|
511
459
|
(payment) => (payment.direction === "OUTGOING" ? payment.debtorIban : payment.creditorIban) === account.iban
|
|
@@ -520,25 +468,12 @@ let BankServiceBase = class extends backendSdk.develitWorker(cloudflare_workers.
|
|
|
520
468
|
)[0];
|
|
521
469
|
}
|
|
522
470
|
if (lastSyncPayment.createdAt) {
|
|
523
|
-
await updateAccountLastSyncCommand(this.db, {
|
|
471
|
+
await export_workflows.updateAccountLastSyncCommand(this.db, {
|
|
524
472
|
accountId: account.id,
|
|
525
473
|
lastSyncedAt: lastSyncPayment.createdAt
|
|
526
474
|
}).command.execute();
|
|
527
475
|
}
|
|
528
476
|
}
|
|
529
|
-
await this.pushToQueue(
|
|
530
|
-
this.env.QUEUE_BUS_QUEUE,
|
|
531
|
-
allFetchedPayments.map((payment) => ({
|
|
532
|
-
eventType: "BANK_PAYMENT",
|
|
533
|
-
eventSignal: "created",
|
|
534
|
-
bankPayment: payment,
|
|
535
|
-
metadata: {
|
|
536
|
-
correlationId: backendSdk.uuidv4(),
|
|
537
|
-
entityId: payment.id,
|
|
538
|
-
timestamp: (/* @__PURE__ */ new Date()).toDateString()
|
|
539
|
-
}
|
|
540
|
-
}))
|
|
541
|
-
);
|
|
542
477
|
}
|
|
543
478
|
async _initiateBankConnector({
|
|
544
479
|
connectorKey,
|
|
@@ -555,7 +490,7 @@ let BankServiceBase = class extends backendSdk.develitWorker(cloudflare_workers.
|
|
|
555
490
|
);
|
|
556
491
|
const accountsWithCredentials = await Promise.all(
|
|
557
492
|
accountsForConnector.map(async (acc) => {
|
|
558
|
-
const credentials = await getCredentialsByAccountId(this.db, {
|
|
493
|
+
const credentials = await export_workflows.getCredentialsByAccountId(this.db, {
|
|
559
494
|
accountId: acc.id
|
|
560
495
|
});
|
|
561
496
|
if (!credentials) {
|
|
@@ -572,7 +507,7 @@ let BankServiceBase = class extends backendSdk.develitWorker(cloudflare_workers.
|
|
|
572
507
|
};
|
|
573
508
|
})
|
|
574
509
|
);
|
|
575
|
-
this.bankConnector = initiateConnector({
|
|
510
|
+
this.bankConnector = export_workflows.initiateConnector({
|
|
576
511
|
bank: connectorKey,
|
|
577
512
|
connectedAccounts: accountsWithCredentials,
|
|
578
513
|
env: this.env
|
|
@@ -604,18 +539,45 @@ let BankServiceBase = class extends backendSdk.develitWorker(cloudflare_workers.
|
|
|
604
539
|
async syncAccount(input) {
|
|
605
540
|
return this.handleAction(
|
|
606
541
|
{ data: input, schema: syncAccountInputSchema },
|
|
607
|
-
{ successMessage: "Account
|
|
542
|
+
{ successMessage: "Account sync workflow started" },
|
|
608
543
|
async ({ accountId }) => {
|
|
609
|
-
const
|
|
610
|
-
accountId
|
|
544
|
+
const instance = await this.env.SYNC_ACCOUNT_PAYMENTS_WORKFLOW.create({
|
|
545
|
+
id: accountId,
|
|
546
|
+
params: {
|
|
547
|
+
accountId
|
|
548
|
+
}
|
|
611
549
|
});
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
550
|
+
return {
|
|
551
|
+
instanceId: instance.id,
|
|
552
|
+
details: await instance.status()
|
|
553
|
+
};
|
|
554
|
+
}
|
|
555
|
+
);
|
|
556
|
+
}
|
|
557
|
+
async syncAccountStatus(input) {
|
|
558
|
+
return this.handleAction(
|
|
559
|
+
{ data: input, schema: syncAccountStatusInputSchema },
|
|
560
|
+
{ successMessage: "Account sync workflow status retrieved" },
|
|
561
|
+
async ({ accountId }) => {
|
|
562
|
+
const instance = await this.env.SYNC_ACCOUNT_PAYMENTS_WORKFLOW.get(accountId);
|
|
563
|
+
return {
|
|
564
|
+
instanceId: instance.id,
|
|
565
|
+
details: await instance.status()
|
|
566
|
+
};
|
|
567
|
+
}
|
|
568
|
+
);
|
|
569
|
+
}
|
|
570
|
+
async syncAccountRestart(input) {
|
|
571
|
+
return this.handleAction(
|
|
572
|
+
{ data: input, schema: syncAccountRestartInputSchema },
|
|
573
|
+
{ successMessage: "Account sync workflow restarted" },
|
|
574
|
+
async ({ accountId }) => {
|
|
575
|
+
const instance = await this.env.SYNC_ACCOUNT_PAYMENTS_WORKFLOW.get(accountId);
|
|
576
|
+
await instance.restart();
|
|
577
|
+
return {
|
|
578
|
+
instanceId: instance.id,
|
|
579
|
+
details: await instance.status()
|
|
580
|
+
};
|
|
619
581
|
}
|
|
620
582
|
);
|
|
621
583
|
}
|
|
@@ -741,7 +703,7 @@ let BankServiceBase = class extends backendSdk.develitWorker(cloudflare_workers.
|
|
|
741
703
|
this.env.QUEUE_BUS_QUEUE,
|
|
742
704
|
unsupportedPayments.map((unsupported) => ({
|
|
743
705
|
eventType: "BANK_PAYMENT",
|
|
744
|
-
eventSignal: "
|
|
706
|
+
eventSignal: "paymentFailed",
|
|
745
707
|
bankPayment: {
|
|
746
708
|
...unsupported,
|
|
747
709
|
status: "FAILED",
|
|
@@ -855,7 +817,7 @@ let BankServiceBase = class extends backendSdk.develitWorker(cloudflare_workers.
|
|
|
855
817
|
...preparedBatch.failedPayments,
|
|
856
818
|
...preparedBatch.newlyPreparedPayments
|
|
857
819
|
].map(
|
|
858
|
-
(p) => createPaymentCommand(this.db, { payment: p }).command.execute()
|
|
820
|
+
(p) => export_workflows.createPaymentCommand(this.db, { payment: p }).command.execute()
|
|
859
821
|
)
|
|
860
822
|
]);
|
|
861
823
|
await upsertBatchCommand(this.db, {
|
|
@@ -892,7 +854,7 @@ let BankServiceBase = class extends backendSdk.develitWorker(cloudflare_workers.
|
|
|
892
854
|
}
|
|
893
855
|
});
|
|
894
856
|
const updatePayments = payments.map(
|
|
895
|
-
(payment) => updatePaymentCommand(this.db, {
|
|
857
|
+
(payment) => export_workflows.updatePaymentCommand(this.db, {
|
|
896
858
|
payment: { ...payment, status: "INITIALIZED" }
|
|
897
859
|
}).command
|
|
898
860
|
);
|
|
@@ -1069,12 +1031,12 @@ let BankServiceBase = class extends backendSdk.develitWorker(cloudflare_workers.
|
|
|
1069
1031
|
debtor,
|
|
1070
1032
|
debtorIban: debtor.iban
|
|
1071
1033
|
};
|
|
1072
|
-
const { command } = createPaymentCommand(this.db, { payment });
|
|
1034
|
+
const { command } = export_workflows.createPaymentCommand(this.db, { payment });
|
|
1073
1035
|
const createdPayment = await command.execute().then(backendSdk.first);
|
|
1074
1036
|
this.logQueuePush({ payment, isPaymentExecuted: true });
|
|
1075
1037
|
await this.pushToQueue(this.env.QUEUE_BUS_QUEUE, {
|
|
1076
1038
|
eventType: "BANK_PAYMENT",
|
|
1077
|
-
eventSignal: "
|
|
1039
|
+
eventSignal: "paymentCompleted",
|
|
1078
1040
|
bankPayment: createdPayment,
|
|
1079
1041
|
metadata: {
|
|
1080
1042
|
correlationId: createdPayment.correlationId,
|
|
@@ -1100,7 +1062,7 @@ let BankServiceBase = class extends backendSdk.develitWorker(cloudflare_workers.
|
|
|
1100
1062
|
message: "Account for this organization does not exist."
|
|
1101
1063
|
});
|
|
1102
1064
|
}
|
|
1103
|
-
await updateAccountLastSyncCommand(this.db, {
|
|
1065
|
+
await export_workflows.updateAccountLastSyncCommand(this.db, {
|
|
1104
1066
|
accountId: account.id,
|
|
1105
1067
|
lastSyncedAt
|
|
1106
1068
|
}).command.execute();
|
|
@@ -1123,7 +1085,31 @@ let BankServiceBase = class extends backendSdk.develitWorker(cloudflare_workers.
|
|
|
1123
1085
|
return this.handleAction(
|
|
1124
1086
|
null,
|
|
1125
1087
|
{ successMessage: "Bank accounts retrieved successfully" },
|
|
1126
|
-
async () =>
|
|
1088
|
+
async () => {
|
|
1089
|
+
const accounts = await this._getAccounts();
|
|
1090
|
+
const accountsWithWorkflows = await Promise.all(
|
|
1091
|
+
accounts.map(async (a) => {
|
|
1092
|
+
let status;
|
|
1093
|
+
try {
|
|
1094
|
+
const instance = await this.env.SYNC_ACCOUNT_PAYMENTS_WORKFLOW.get(a.id);
|
|
1095
|
+
status = await instance.status();
|
|
1096
|
+
} catch (_) {
|
|
1097
|
+
status = null;
|
|
1098
|
+
}
|
|
1099
|
+
return {
|
|
1100
|
+
...a,
|
|
1101
|
+
workflow: status ? {
|
|
1102
|
+
instanceId: a.id,
|
|
1103
|
+
details: status
|
|
1104
|
+
} : null
|
|
1105
|
+
};
|
|
1106
|
+
})
|
|
1107
|
+
);
|
|
1108
|
+
return {
|
|
1109
|
+
accounts: accountsWithWorkflows,
|
|
1110
|
+
totalCount: accounts.length
|
|
1111
|
+
};
|
|
1112
|
+
}
|
|
1127
1113
|
);
|
|
1128
1114
|
}
|
|
1129
1115
|
async updateAccount(input) {
|
|
@@ -1219,422 +1205,5 @@ function defineBankService({
|
|
|
1219
1205
|
};
|
|
1220
1206
|
}
|
|
1221
1207
|
|
|
1222
|
-
|
|
1223
|
-
config: {
|
|
1224
|
-
allowedProviders: []
|
|
1225
|
-
// {
|
|
1226
|
-
// connectorKey: 'MOCK_COBS',
|
|
1227
|
-
// id: 'staging-czk',
|
|
1228
|
-
// identification: {
|
|
1229
|
-
// number: '1234567890',
|
|
1230
|
-
// bankCode: '5051',
|
|
1231
|
-
// iban: 'CZ0350510000000000000449',
|
|
1232
|
-
// holderName: 'Devizová Burza a.s.',
|
|
1233
|
-
// },
|
|
1234
|
-
// fallbackLastSync: monthAgo,
|
|
1235
|
-
// currency: 'CZK',
|
|
1236
|
-
// production: false,
|
|
1237
|
-
// },
|
|
1238
|
-
// {
|
|
1239
|
-
// connectorKey: 'MOCK_COBS',
|
|
1240
|
-
// id: 'staging-eur',
|
|
1241
|
-
// identification: {
|
|
1242
|
-
// number: '2345678901',
|
|
1243
|
-
// bankCode: '5051',
|
|
1244
|
-
// iban: 'CZ0750510000000000000668',
|
|
1245
|
-
// holderName: 'Devizová Burza a.s.',
|
|
1246
|
-
// },
|
|
1247
|
-
// fallbackLastSync: monthAgo,
|
|
1248
|
-
// currency: 'EUR',
|
|
1249
|
-
// production: false,
|
|
1250
|
-
// },
|
|
1251
|
-
// {
|
|
1252
|
-
// connectorKey: 'FIO',
|
|
1253
|
-
// id: 'kleinpetr-test',
|
|
1254
|
-
// identification: {
|
|
1255
|
-
// number: '2502130437',
|
|
1256
|
-
// bankCode: '2010',
|
|
1257
|
-
// iban: 'CZ8520100000002502130437',
|
|
1258
|
-
// holderName: 'Petr Klein',
|
|
1259
|
-
// },
|
|
1260
|
-
// fallbackLastSync: monthAgo,
|
|
1261
|
-
// currency: 'CZK',
|
|
1262
|
-
// production: true,
|
|
1263
|
-
// },
|
|
1264
|
-
// {
|
|
1265
|
-
// connectorKey: 'MOCK',
|
|
1266
|
-
// id: 'id-test',
|
|
1267
|
-
// identification: {
|
|
1268
|
-
// number: '777777777',
|
|
1269
|
-
// bankCode: '0800',
|
|
1270
|
-
// iban: 'PL0000000000002444430437',
|
|
1271
|
-
// holderName: 'Test Test',
|
|
1272
|
-
// },
|
|
1273
|
-
// fallbackLastSync: monthAgo,
|
|
1274
|
-
// currency: 'PLN',
|
|
1275
|
-
// production: false,
|
|
1276
|
-
// },
|
|
1277
|
-
// {
|
|
1278
|
-
// connectorKey: 'MOCK_COBS',
|
|
1279
|
-
// id: 'staging-usd',
|
|
1280
|
-
// identification: {
|
|
1281
|
-
// iban: 'CZ3456789012345678901234',
|
|
1282
|
-
// accountNumberWithBankCode: '3456789012/3456',
|
|
1283
|
-
// },
|
|
1284
|
-
// currency: 'USD',
|
|
1285
|
-
// bankCode: '0800',
|
|
1286
|
-
// accountNumber: '3456789012',
|
|
1287
|
-
// production: false,
|
|
1288
|
-
// },
|
|
1289
|
-
// ],
|
|
1290
|
-
// productionAccounts: [
|
|
1291
|
-
// // Banka CREDITAS (2250)
|
|
1292
|
-
// {
|
|
1293
|
-
// connectorKey: 'CREDITAS',
|
|
1294
|
-
// id: '2250-CZK',
|
|
1295
|
-
// identification: {
|
|
1296
|
-
// number: '100602391',
|
|
1297
|
-
// bankCode: '2250',
|
|
1298
|
-
// iban: 'CZ5122500000000100602391',
|
|
1299
|
-
// holderName: 'Devizová Burza a.s.',
|
|
1300
|
-
// },
|
|
1301
|
-
// fallbackLastSync: monthAgo,
|
|
1302
|
-
// currency: 'CZK',
|
|
1303
|
-
// production: true,
|
|
1304
|
-
// },
|
|
1305
|
-
// {
|
|
1306
|
-
// connectorKey: 'CREDITAS',
|
|
1307
|
-
// id: '2250-EUR',
|
|
1308
|
-
// identification: {
|
|
1309
|
-
// number: '100602404',
|
|
1310
|
-
// bankCode: '2250',
|
|
1311
|
-
// iban: 'CZ8822500000000100602404',
|
|
1312
|
-
// holderName: 'Devizová Burza a.s.',
|
|
1313
|
-
// },
|
|
1314
|
-
// fallbackLastSync: monthAgo,
|
|
1315
|
-
// currency: 'EUR',
|
|
1316
|
-
// production: true,
|
|
1317
|
-
// },
|
|
1318
|
-
// {
|
|
1319
|
-
// connectorKey: 'CREDITAS',
|
|
1320
|
-
// id: '2250-USD',
|
|
1321
|
-
// identification: {
|
|
1322
|
-
// number: '100602412',
|
|
1323
|
-
// bankCode: '2250',
|
|
1324
|
-
// iban: 'CZ6622500000000100602412',
|
|
1325
|
-
// holderName: 'Devizová Burza a.s.',
|
|
1326
|
-
// },
|
|
1327
|
-
// fallbackLastSync: monthAgo,
|
|
1328
|
-
// currency: 'USD',
|
|
1329
|
-
// production: true,
|
|
1330
|
-
// },
|
|
1331
|
-
// {
|
|
1332
|
-
// connectorKey: 'CREDITAS',
|
|
1333
|
-
// id: '2250-GBP',
|
|
1334
|
-
// identification: {
|
|
1335
|
-
// number: '100602420',
|
|
1336
|
-
// bankCode: '2250',
|
|
1337
|
-
// iban: 'CZ4422500000000100602420',
|
|
1338
|
-
// holderName: 'Devizová Burza a.s.',
|
|
1339
|
-
// },
|
|
1340
|
-
// fallbackLastSync: monthAgo,
|
|
1341
|
-
// currency: 'GBP',
|
|
1342
|
-
// production: true,
|
|
1343
|
-
// },
|
|
1344
|
-
// {
|
|
1345
|
-
// connectorKey: 'CREDITAS',
|
|
1346
|
-
// id: '2250-CHF',
|
|
1347
|
-
// identification: {
|
|
1348
|
-
// number: '100602439',
|
|
1349
|
-
// bankCode: '2250',
|
|
1350
|
-
// iban: 'CZ1622500000000100602439',
|
|
1351
|
-
// holderName: 'Devizová Burza a.s.',
|
|
1352
|
-
// },
|
|
1353
|
-
// fallbackLastSync: monthAgo,
|
|
1354
|
-
// currency: 'CHF',
|
|
1355
|
-
// production: true,
|
|
1356
|
-
// },
|
|
1357
|
-
// {
|
|
1358
|
-
// connectorKey: 'CREDITAS',
|
|
1359
|
-
// id: '2250-PLN',
|
|
1360
|
-
// identification: {
|
|
1361
|
-
// number: '100602447',
|
|
1362
|
-
// bankCode: '2250',
|
|
1363
|
-
// iban: 'CZ9122500000000100602447',
|
|
1364
|
-
// holderName: 'Devizová Burza a.s.',
|
|
1365
|
-
// },
|
|
1366
|
-
// fallbackLastSync: monthAgo,
|
|
1367
|
-
// currency: 'PLN',
|
|
1368
|
-
// production: true,
|
|
1369
|
-
// },
|
|
1370
|
-
// // Fio banka (2010)
|
|
1371
|
-
// {
|
|
1372
|
-
// connectorKey: 'FINBRICKS',
|
|
1373
|
-
// id: '2010-CZK',
|
|
1374
|
-
// identification: {
|
|
1375
|
-
// number: '2500845869',
|
|
1376
|
-
// bankCode: '2010',
|
|
1377
|
-
// iban: 'CZ0420100000002500845869',
|
|
1378
|
-
// holderName: 'Devizová Burza a.s.',
|
|
1379
|
-
// },
|
|
1380
|
-
// fallbackLastSync: monthAgo,
|
|
1381
|
-
// currency: 'CZK',
|
|
1382
|
-
// production: true,
|
|
1383
|
-
// },
|
|
1384
|
-
// {
|
|
1385
|
-
// connectorKey: 'FINBRICKS',
|
|
1386
|
-
// id: '2010-EUR',
|
|
1387
|
-
// identification: {
|
|
1388
|
-
// number: '2600884128',
|
|
1389
|
-
// bankCode: '2010',
|
|
1390
|
-
// iban: 'CZ0820100000002600884128',
|
|
1391
|
-
// holderName: 'Devizová Burza a.s.',
|
|
1392
|
-
// },
|
|
1393
|
-
// fallbackLastSync: monthAgo,
|
|
1394
|
-
// currency: 'EUR',
|
|
1395
|
-
// production: true,
|
|
1396
|
-
// },
|
|
1397
|
-
// {
|
|
1398
|
-
// connectorKey: 'FINBRICKS',
|
|
1399
|
-
// id: '2010-USD',
|
|
1400
|
-
// identification: {
|
|
1401
|
-
// number: '2700884133',
|
|
1402
|
-
// bankCode: '2010',
|
|
1403
|
-
// iban: 'CZ1420100000002700884133',
|
|
1404
|
-
// holderName: 'Devizová Burza a.s.',
|
|
1405
|
-
// },
|
|
1406
|
-
// fallbackLastSync: monthAgo,
|
|
1407
|
-
// currency: 'USD',
|
|
1408
|
-
// production: true,
|
|
1409
|
-
// },
|
|
1410
|
-
// {
|
|
1411
|
-
// connectorKey: 'FINBRICKS',
|
|
1412
|
-
// id: '2010-CHF',
|
|
1413
|
-
// identification: {
|
|
1414
|
-
// number: '2401098351',
|
|
1415
|
-
// bankCode: '2010',
|
|
1416
|
-
// iban: 'CZ0920100000002401098351',
|
|
1417
|
-
// holderName: 'Devizová Burza a.s.',
|
|
1418
|
-
// },
|
|
1419
|
-
// fallbackLastSync: monthAgo,
|
|
1420
|
-
// currency: 'CHF',
|
|
1421
|
-
// production: true,
|
|
1422
|
-
// },
|
|
1423
|
-
// {
|
|
1424
|
-
// connectorKey: 'FINBRICKS',
|
|
1425
|
-
// id: '2010-GBP',
|
|
1426
|
-
// identification: {
|
|
1427
|
-
// number: '2400884131',
|
|
1428
|
-
// bankCode: '2010',
|
|
1429
|
-
// iban: 'CZ3320100000002400884131',
|
|
1430
|
-
// holderName: 'Devizová Burza a.s.',
|
|
1431
|
-
// },
|
|
1432
|
-
// fallbackLastSync: monthAgo,
|
|
1433
|
-
// currency: 'GBP',
|
|
1434
|
-
// production: true,
|
|
1435
|
-
// },
|
|
1436
|
-
// {
|
|
1437
|
-
// connectorKey: 'FINBRICKS',
|
|
1438
|
-
// id: '2010-PLN',
|
|
1439
|
-
// identification: {
|
|
1440
|
-
// number: '2701098353',
|
|
1441
|
-
// bankCode: '2010',
|
|
1442
|
-
// iban: 'CZ8720100000002701098353',
|
|
1443
|
-
// holderName: 'Devizová Burza a.s.',
|
|
1444
|
-
// },
|
|
1445
|
-
// fallbackLastSync: monthAgo,
|
|
1446
|
-
// currency: 'PLN',
|
|
1447
|
-
// production: true,
|
|
1448
|
-
// },
|
|
1449
|
-
// {
|
|
1450
|
-
// connectorKey: 'FINBRICKS',
|
|
1451
|
-
// id: '2010-CAD',
|
|
1452
|
-
// identification: {
|
|
1453
|
-
// number: '2701478102',
|
|
1454
|
-
// bankCode: '2010',
|
|
1455
|
-
// iban: 'CZ5520100000002701478102',
|
|
1456
|
-
// holderName: 'Devizová Burza a.s.',
|
|
1457
|
-
// },
|
|
1458
|
-
// fallbackLastSync: monthAgo,
|
|
1459
|
-
// currency: 'CAD',
|
|
1460
|
-
// production: true,
|
|
1461
|
-
// },
|
|
1462
|
-
// // Komerční banka (0100)
|
|
1463
|
-
// {
|
|
1464
|
-
// connectorKey: 'FINBRICKS',
|
|
1465
|
-
// id: '0100-CZK',
|
|
1466
|
-
// identification: {
|
|
1467
|
-
// number: '115-1483630297',
|
|
1468
|
-
// bankCode: '0100',
|
|
1469
|
-
// iban: 'CZ5901000001151483630297',
|
|
1470
|
-
// holderName: 'Devizová Burza a.s.',
|
|
1471
|
-
// },
|
|
1472
|
-
// fallbackLastSync: monthAgo,
|
|
1473
|
-
// currency: 'CZK',
|
|
1474
|
-
// production: true,
|
|
1475
|
-
// },
|
|
1476
|
-
// {
|
|
1477
|
-
// connectorKey: 'FINBRICKS',
|
|
1478
|
-
// id: '0100-EUR',
|
|
1479
|
-
// identification: {
|
|
1480
|
-
// number: '115-1484940297',
|
|
1481
|
-
// bankCode: '0100',
|
|
1482
|
-
// iban: 'CZ4201000001151484940297',
|
|
1483
|
-
// holderName: 'Devizová Burza a.s.',
|
|
1484
|
-
// },
|
|
1485
|
-
// fallbackLastSync: monthAgo,
|
|
1486
|
-
// currency: 'EUR',
|
|
1487
|
-
// production: true,
|
|
1488
|
-
// },
|
|
1489
|
-
// {
|
|
1490
|
-
// connectorKey: 'FINBRICKS',
|
|
1491
|
-
// id: '0100-USD',
|
|
1492
|
-
// identification: {
|
|
1493
|
-
// number: '115-1483960237',
|
|
1494
|
-
// bankCode: '0100',
|
|
1495
|
-
// iban: 'CZ6201000001151483960237',
|
|
1496
|
-
// holderName: 'Devizová Burza a.s.',
|
|
1497
|
-
// },
|
|
1498
|
-
// fallbackLastSync: monthAgo,
|
|
1499
|
-
// currency: 'USD',
|
|
1500
|
-
// production: true,
|
|
1501
|
-
// },
|
|
1502
|
-
// {
|
|
1503
|
-
// connectorKey: 'FINBRICKS',
|
|
1504
|
-
// id: '0100-PLN',
|
|
1505
|
-
// identification: {
|
|
1506
|
-
// number: '115-6674290267',
|
|
1507
|
-
// bankCode: '0100',
|
|
1508
|
-
// iban: 'CZ3501000001156674290267',
|
|
1509
|
-
// holderName: 'Devizová Burza a.s.',
|
|
1510
|
-
// },
|
|
1511
|
-
// fallbackLastSync: monthAgo,
|
|
1512
|
-
// currency: 'PLN',
|
|
1513
|
-
// production: true,
|
|
1514
|
-
// },
|
|
1515
|
-
// {
|
|
1516
|
-
// connectorKey: 'FINBRICKS',
|
|
1517
|
-
// id: '0100-SEK',
|
|
1518
|
-
// identification: {
|
|
1519
|
-
// number: '115-9578110207',
|
|
1520
|
-
// bankCode: '0100',
|
|
1521
|
-
// iban: 'CZ2401000001159578110207',
|
|
1522
|
-
// holderName: 'Devizová Burza a.s.',
|
|
1523
|
-
// },
|
|
1524
|
-
// fallbackLastSync: monthAgo,
|
|
1525
|
-
// currency: 'SEK',
|
|
1526
|
-
// production: true,
|
|
1527
|
-
// },
|
|
1528
|
-
// // Česká spořitelna (0800)
|
|
1529
|
-
// {
|
|
1530
|
-
// connectorKey: 'ERSTE',
|
|
1531
|
-
// id: '0800-CZK',
|
|
1532
|
-
// identification: {
|
|
1533
|
-
// number: '4413926379',
|
|
1534
|
-
// bankCode: '0800',
|
|
1535
|
-
// iban: 'CZ7908000000004413926379',
|
|
1536
|
-
// holderName: 'Devizová Burza a.s.',
|
|
1537
|
-
// },
|
|
1538
|
-
// fallbackLastSync: monthAgo,
|
|
1539
|
-
// currency: 'CZK',
|
|
1540
|
-
// production: true,
|
|
1541
|
-
// },
|
|
1542
|
-
// {
|
|
1543
|
-
// connectorKey: 'ERSTE',
|
|
1544
|
-
// id: '0800-EUR',
|
|
1545
|
-
// identification: {
|
|
1546
|
-
// number: '1966646293',
|
|
1547
|
-
// bankCode: '0800',
|
|
1548
|
-
// iban: 'CZ2308000000001966646293',
|
|
1549
|
-
// holderName: 'Devizová Burza a.s.',
|
|
1550
|
-
// },
|
|
1551
|
-
// fallbackLastSync: monthAgo,
|
|
1552
|
-
// currency: 'EUR',
|
|
1553
|
-
// production: true,
|
|
1554
|
-
// },
|
|
1555
|
-
// {
|
|
1556
|
-
// connectorKey: 'ERSTE',
|
|
1557
|
-
// id: '0800-USD',
|
|
1558
|
-
// identification: {
|
|
1559
|
-
// number: '1978982243',
|
|
1560
|
-
// bankCode: '0800',
|
|
1561
|
-
// iban: 'CZ1908000000001978982243',
|
|
1562
|
-
// holderName: 'Devizová Burza a.s.',
|
|
1563
|
-
// },
|
|
1564
|
-
// fallbackLastSync: monthAgo,
|
|
1565
|
-
// currency: 'USD',
|
|
1566
|
-
// production: true,
|
|
1567
|
-
// },
|
|
1568
|
-
// {
|
|
1569
|
-
// connectorKey: 'ERSTE',
|
|
1570
|
-
// id: '0800-HUF',
|
|
1571
|
-
// identification: {
|
|
1572
|
-
// number: '13461252',
|
|
1573
|
-
// bankCode: '0800',
|
|
1574
|
-
// iban: 'CZ1908000000000013461252',
|
|
1575
|
-
// holderName: 'Devizová Burza a.s.',
|
|
1576
|
-
// },
|
|
1577
|
-
// fallbackLastSync: monthAgo,
|
|
1578
|
-
// currency: 'HUF',
|
|
1579
|
-
// production: true,
|
|
1580
|
-
// },
|
|
1581
|
-
// // MONETA Money Bank (0600)
|
|
1582
|
-
// {
|
|
1583
|
-
// connectorKey: 'FINBRICKS',
|
|
1584
|
-
// id: '0600-CZK',
|
|
1585
|
-
// identification: {
|
|
1586
|
-
// number: '224252186',
|
|
1587
|
-
// bankCode: '0600',
|
|
1588
|
-
// iban: 'CZ5906000000000224252186',
|
|
1589
|
-
// holderName: 'Devizová Burza a.s.',
|
|
1590
|
-
// },
|
|
1591
|
-
// fallbackLastSync: monthAgo,
|
|
1592
|
-
// currency: 'CZK',
|
|
1593
|
-
// production: true,
|
|
1594
|
-
// },
|
|
1595
|
-
// {
|
|
1596
|
-
// connectorKey: 'FINBRICKS',
|
|
1597
|
-
// id: '0600-EUR',
|
|
1598
|
-
// identification: {
|
|
1599
|
-
// number: '224252231',
|
|
1600
|
-
// bankCode: '0600',
|
|
1601
|
-
// iban: 'CZ0806000000000224252231',
|
|
1602
|
-
// holderName: 'Devizová Burza a.s.',
|
|
1603
|
-
// },
|
|
1604
|
-
// fallbackLastSync: monthAgo,
|
|
1605
|
-
// currency: 'EUR',
|
|
1606
|
-
// production: true,
|
|
1607
|
-
// },
|
|
1608
|
-
// {
|
|
1609
|
-
// connectorKey: 'FINBRICKS',
|
|
1610
|
-
// id: '0600-USD',
|
|
1611
|
-
// identification: {
|
|
1612
|
-
// number: '224252290',
|
|
1613
|
-
// bankCode: '0600',
|
|
1614
|
-
// iban: 'CZ6406000000000224252290',
|
|
1615
|
-
// holderName: 'Devizová Burza a.s.',
|
|
1616
|
-
// },
|
|
1617
|
-
// fallbackLastSync: monthAgo,
|
|
1618
|
-
// currency: 'USD',
|
|
1619
|
-
// production: true,
|
|
1620
|
-
// },
|
|
1621
|
-
// // NEY spořitelní družstvo (2260)
|
|
1622
|
-
// {
|
|
1623
|
-
// connectorKey: 'FINBRICKS',
|
|
1624
|
-
// id: '2260-CZK',
|
|
1625
|
-
// identification: {
|
|
1626
|
-
// number: '1702700014',
|
|
1627
|
-
// bankCode: '2260',
|
|
1628
|
-
// iban: 'CZ7422600000001702700014',
|
|
1629
|
-
// holderName: 'Devizová Burza a.s.',
|
|
1630
|
-
// },
|
|
1631
|
-
// fallbackLastSync: monthAgo,
|
|
1632
|
-
// currency: 'CZK',
|
|
1633
|
-
// production: true,
|
|
1634
|
-
// },
|
|
1635
|
-
// ],
|
|
1636
|
-
}
|
|
1637
|
-
});
|
|
1638
|
-
|
|
1639
|
-
exports.default = BankService;
|
|
1208
|
+
exports.BankWorkflows = export_workflows.workflows;
|
|
1640
1209
|
exports.defineBankService = defineBankService;
|