@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.
Files changed (41) hide show
  1. package/dist/database/schema.cjs +1 -1
  2. package/dist/database/schema.d.cts +1 -1
  3. package/dist/database/schema.d.mts +1 -1
  4. package/dist/database/schema.d.ts +1 -1
  5. package/dist/database/schema.mjs +1 -1
  6. package/dist/export/worker.cjs +138 -569
  7. package/dist/export/worker.d.cts +96 -36
  8. package/dist/export/worker.d.mts +97 -35
  9. package/dist/export/worker.d.ts +96 -36
  10. package/dist/export/worker.mjs +130 -558
  11. package/dist/export/workflows.cjs +21 -0
  12. package/dist/export/workflows.d.cts +2 -0
  13. package/dist/export/workflows.d.mts +2 -0
  14. package/dist/export/workflows.d.ts +2 -0
  15. package/dist/export/workflows.mjs +15 -0
  16. package/dist/export/wrangler.cjs +7 -0
  17. package/dist/export/wrangler.d.cts +5 -0
  18. package/dist/export/wrangler.d.mts +5 -0
  19. package/dist/export/wrangler.d.ts +5 -0
  20. package/dist/export/wrangler.mjs +7 -0
  21. package/dist/shared/{bank.6WoCPIFy.mjs → bank.8lAQLFNI.mjs} +1 -1
  22. package/dist/shared/{bank.0KTS9nMz.d.ts → bank.BQSnGZ-3.d.cts} +33 -80
  23. package/dist/shared/bank.CH22Zrdv.d.cts +20 -0
  24. package/dist/shared/bank.CH22Zrdv.d.mts +20 -0
  25. package/dist/shared/bank.CH22Zrdv.d.ts +20 -0
  26. package/dist/shared/{bank.DmzkJQVU.d.cts → bank.CouYVuOf.d.ts} +33 -80
  27. package/dist/shared/{bank.BPcrbUBa.cjs → bank.DISsqBb6.cjs} +1 -1
  28. package/dist/shared/bank.DJ9d1yaR.mjs +269 -0
  29. package/dist/shared/bank.DOJ8gbXQ.cjs +278 -0
  30. package/dist/shared/{bank.NTyp2XAv.d.mts → bank.DW3cHO1u.d.mts} +33 -80
  31. package/dist/shared/{bank.BWcFhTu1.mjs → bank.RUV2HUFo.mjs} +11 -11
  32. package/dist/shared/{bank.BVzOzXdX.cjs → bank.UfRkUN2y.cjs} +11 -11
  33. package/dist/shared/{bank.CCilUVCi.d.ts → bank.mub5_S4r.d.cts} +4 -21
  34. package/dist/shared/{bank.CCilUVCi.d.cts → bank.mub5_S4r.d.mts} +4 -21
  35. package/dist/shared/{bank.CCilUVCi.d.mts → bank.mub5_S4r.d.ts} +4 -21
  36. package/dist/types.cjs +2 -2
  37. package/dist/types.d.cts +16 -9
  38. package/dist/types.d.mts +16 -9
  39. package/dist/types.d.ts +16 -9
  40. package/dist/types.mjs +2 -2
  41. package/package.json +6 -1
@@ -1,16 +1,16 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
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.BVzOzXdX.cjs');
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
- const mockCobs_connector = require('../shared/bank.BPcrbUBa.cjs');
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
- env: this.env.ENVIRONMENT,
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
- return updatePaymentCommand(this.db, { payment }).command;
505
- return createPaymentCommand(this.db, { payment }).command;
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
- console.log("FETCHEDPAYMANETS TO SYNC", allFetchedPayments.length);
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 synchronized successfully" },
542
+ { successMessage: "Account sync workflow started" },
608
543
  async ({ accountId }) => {
609
- const account = await getAccountByIdQuery(this.db, {
610
- accountId
544
+ const instance = await this.env.SYNC_ACCOUNT_PAYMENTS_WORKFLOW.create({
545
+ id: accountId,
546
+ params: {
547
+ accountId
548
+ }
611
549
  });
612
- if (!account)
613
- throw backendSdk.createInternalError(null, {
614
- code: "NOT_FOUND",
615
- message: "Account not found",
616
- status: 404
617
- });
618
- await this._saveOrUpdatePayments([account]);
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: "failed",
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: "completed",
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 () => await this._getAccounts()
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
- const BankService = defineBankService({
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;