@develit-services/bank 5.4.2 → 5.5.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/base.d.cts CHANGED
@@ -1,5 +1,5 @@
1
- import { B as BatchSelectType, P as PaymentRequestSelectType, A as AccountSelectType, a as PaymentSelectType, L as LastSyncMetadata, C as ConnectorConfig, t as tables, b as ConnectorKey, c as ConfigEnvironmentBank, I as IBankConnector, d as PaymentType, e as CurrencyCode, H as HandleAuthorizationCallbackInput, f as HandleAuthorizationCallbackOutput } from './shared/bank.BrBu52ls.cjs';
2
- import { S as SendPaymentInput, a as SendPaymentOutput, b as SendPaymentSyncInput, c as SendPaymentSyncOutput, F as FinbricksSupportedBanksResponse } from './shared/bank.Dzk9ABBs.cjs';
1
+ import { B as BatchSelectType, P as PaymentRequestSelectType, A as AccountSelectType, a as PaymentSelectType, L as LastSyncMetadata, C as ConnectorConfig, t as tables, b as ConnectorKey, c as ConfigEnvironmentBank, I as IBankConnector, d as PaymentType, e as CurrencyCode, H as HandleAuthorizationCallbackInput, f as HandleAuthorizationCallbackOutput } from './shared/bank.CdkOsZE8.cjs';
2
+ import { S as SendPaymentInput, a as SendPaymentOutput, b as SendPaymentSyncInput, c as SendPaymentSyncOutput, F as FinbricksSupportedBanksResponse } from './shared/bank.D__RVhfE.cjs';
3
3
  import * as _develit_io_backend_sdk from '@develit-io/backend-sdk';
4
4
  import { WorkflowInstanceStatus, IRPCResponse } from '@develit-io/backend-sdk';
5
5
  import { WorkerEntrypoint } from 'cloudflare:workers';
@@ -2958,8 +2958,8 @@ declare const getPaymentsInputSchema: z.ZodObject<{
2958
2958
  filterPaymentStatus: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
2959
2959
  BOOKED: "BOOKED";
2960
2960
  REJECTED: "REJECTED";
2961
- PROCESSING: "PROCESSING";
2962
2961
  PENDING: "PENDING";
2962
+ PROCESSING: "PROCESSING";
2963
2963
  CANCELLED: "CANCELLED";
2964
2964
  SCHEDULED: "SCHEDULED";
2965
2965
  HOLD: "HOLD";
@@ -2967,8 +2967,8 @@ declare const getPaymentsInputSchema: z.ZodObject<{
2967
2967
  }>, z.ZodArray<z.ZodEnum<{
2968
2968
  BOOKED: "BOOKED";
2969
2969
  REJECTED: "REJECTED";
2970
- PROCESSING: "PROCESSING";
2971
2970
  PENDING: "PENDING";
2971
+ PROCESSING: "PROCESSING";
2972
2972
  CANCELLED: "CANCELLED";
2973
2973
  SCHEDULED: "SCHEDULED";
2974
2974
  HOLD: "HOLD";
package/dist/base.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { B as BatchSelectType, P as PaymentRequestSelectType, A as AccountSelectType, a as PaymentSelectType, L as LastSyncMetadata, C as ConnectorConfig, t as tables, b as ConnectorKey, c as ConfigEnvironmentBank, I as IBankConnector, d as PaymentType, e as CurrencyCode, H as HandleAuthorizationCallbackInput, f as HandleAuthorizationCallbackOutput } from './shared/bank.BrBu52ls.mjs';
2
- import { S as SendPaymentInput, a as SendPaymentOutput, b as SendPaymentSyncInput, c as SendPaymentSyncOutput, F as FinbricksSupportedBanksResponse } from './shared/bank.o3KC69CF.mjs';
1
+ import { B as BatchSelectType, P as PaymentRequestSelectType, A as AccountSelectType, a as PaymentSelectType, L as LastSyncMetadata, C as ConnectorConfig, t as tables, b as ConnectorKey, c as ConfigEnvironmentBank, I as IBankConnector, d as PaymentType, e as CurrencyCode, H as HandleAuthorizationCallbackInput, f as HandleAuthorizationCallbackOutput } from './shared/bank.CdkOsZE8.mjs';
2
+ import { S as SendPaymentInput, a as SendPaymentOutput, b as SendPaymentSyncInput, c as SendPaymentSyncOutput, F as FinbricksSupportedBanksResponse } from './shared/bank.BuwSQL_7.mjs';
3
3
  import * as _develit_io_backend_sdk from '@develit-io/backend-sdk';
4
4
  import { WorkflowInstanceStatus, IRPCResponse } from '@develit-io/backend-sdk';
5
5
  import { WorkerEntrypoint } from 'cloudflare:workers';
@@ -2958,8 +2958,8 @@ declare const getPaymentsInputSchema: z.ZodObject<{
2958
2958
  filterPaymentStatus: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
2959
2959
  BOOKED: "BOOKED";
2960
2960
  REJECTED: "REJECTED";
2961
- PROCESSING: "PROCESSING";
2962
2961
  PENDING: "PENDING";
2962
+ PROCESSING: "PROCESSING";
2963
2963
  CANCELLED: "CANCELLED";
2964
2964
  SCHEDULED: "SCHEDULED";
2965
2965
  HOLD: "HOLD";
@@ -2967,8 +2967,8 @@ declare const getPaymentsInputSchema: z.ZodObject<{
2967
2967
  }>, z.ZodArray<z.ZodEnum<{
2968
2968
  BOOKED: "BOOKED";
2969
2969
  REJECTED: "REJECTED";
2970
- PROCESSING: "PROCESSING";
2971
2970
  PENDING: "PENDING";
2971
+ PROCESSING: "PROCESSING";
2972
2972
  CANCELLED: "CANCELLED";
2973
2973
  SCHEDULED: "SCHEDULED";
2974
2974
  HOLD: "HOLD";
package/dist/base.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { B as BatchSelectType, P as PaymentRequestSelectType, A as AccountSelectType, a as PaymentSelectType, L as LastSyncMetadata, C as ConnectorConfig, t as tables, b as ConnectorKey, c as ConfigEnvironmentBank, I as IBankConnector, d as PaymentType, e as CurrencyCode, H as HandleAuthorizationCallbackInput, f as HandleAuthorizationCallbackOutput } from './shared/bank.BrBu52ls.js';
2
- import { S as SendPaymentInput, a as SendPaymentOutput, b as SendPaymentSyncInput, c as SendPaymentSyncOutput, F as FinbricksSupportedBanksResponse } from './shared/bank.Cfz0frnc.js';
1
+ import { B as BatchSelectType, P as PaymentRequestSelectType, A as AccountSelectType, a as PaymentSelectType, L as LastSyncMetadata, C as ConnectorConfig, t as tables, b as ConnectorKey, c as ConfigEnvironmentBank, I as IBankConnector, d as PaymentType, e as CurrencyCode, H as HandleAuthorizationCallbackInput, f as HandleAuthorizationCallbackOutput } from './shared/bank.CdkOsZE8.js';
2
+ import { S as SendPaymentInput, a as SendPaymentOutput, b as SendPaymentSyncInput, c as SendPaymentSyncOutput, F as FinbricksSupportedBanksResponse } from './shared/bank.IAc8kIC-.js';
3
3
  import * as _develit_io_backend_sdk from '@develit-io/backend-sdk';
4
4
  import { WorkflowInstanceStatus, IRPCResponse } from '@develit-io/backend-sdk';
5
5
  import { WorkerEntrypoint } from 'cloudflare:workers';
@@ -2958,8 +2958,8 @@ declare const getPaymentsInputSchema: z.ZodObject<{
2958
2958
  filterPaymentStatus: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
2959
2959
  BOOKED: "BOOKED";
2960
2960
  REJECTED: "REJECTED";
2961
- PROCESSING: "PROCESSING";
2962
2961
  PENDING: "PENDING";
2962
+ PROCESSING: "PROCESSING";
2963
2963
  CANCELLED: "CANCELLED";
2964
2964
  SCHEDULED: "SCHEDULED";
2965
2965
  HOLD: "HOLD";
@@ -2967,8 +2967,8 @@ declare const getPaymentsInputSchema: z.ZodObject<{
2967
2967
  }>, z.ZodArray<z.ZodEnum<{
2968
2968
  BOOKED: "BOOKED";
2969
2969
  REJECTED: "REJECTED";
2970
- PROCESSING: "PROCESSING";
2971
2970
  PENDING: "PENDING";
2971
+ PROCESSING: "PROCESSING";
2972
2972
  CANCELLED: "CANCELLED";
2973
2973
  SCHEDULED: "SCHEDULED";
2974
2974
  HOLD: "HOLD";
package/dist/base.mjs CHANGED
@@ -1,15 +1,15 @@
1
1
  import { uuidv4, first, buildMultiFilterConditions as buildMultiFilterConditions$1, bankAccountMetadataSchema, structuredAddressSchema, workflowInstanceStatusSchema, develitWorker, createInternalError, action, service } from '@develit-io/backend-sdk';
2
- import { G as tables, g as accountInsertSchema, H as relations, J as initiateConnector, o as isProcessedStatus, p as isTerminalStatus, L as getNonTerminalPaymentRequestsQuery, x as toIncomingPayment, N as calculateCzechIban, j as assignAccount, u as toBatchedPayment, y as toPaymentRequestInsert, a as FinbricksClient, F as FINBRICKS_ENDPOINTS } from './shared/bank.BqLdCHnj.mjs';
2
+ import { G as tables, g as accountInsertSchema, H as relations, o as isProcessedStatus, p as isTerminalStatus, L as getNonTerminalPaymentRequestsQuery, x as toIncomingPayment, N as calculateCzechIban, j as assignAccount, u as toBatchedPayment, y as toPaymentRequestInsert, a as FinbricksClient, F as FINBRICKS_ENDPOINTS } from './shared/bank.D0iIfh-X.mjs';
3
3
  import { eq, sql, and, like, asc, desc, inArray, gte, lte, isNull, count } from 'drizzle-orm';
4
4
  import { WorkerEntrypoint } from 'cloudflare:workers';
5
5
  import { drizzle } from 'drizzle-orm/d1';
6
6
  import 'jose';
7
+ import { h as encrypt, d as createCredentialsResolver, i as initiateConnector, e as updatePaymentRequestStatusCommand, a as getPaymentRequestsByBatchIdQuery, g as getBatchByIdQuery, u as upsertBatchCommand, j as importAesKey, f as createPaymentCommand, b as getAccountByIdQuery } from './shared/bank._VynZSqn.mjs';
7
8
  import { z } from 'zod';
8
9
  import { I as INSTRUCTION_PRIORITIES, C as CHARGE_BEARERS, g as PAYMENT_TYPES, b as CONNECTOR_KEYS, a as BATCH_STATUSES, f as PAYMENT_STATUSES, P as PAYMENT_DIRECTIONS, e as PAYMENT_REQUEST_STATUSES } from './shared/bank.BzDNLxB_.mjs';
9
10
  import { CURRENCY_CODES } from '@develit-io/general-codes';
10
11
  import 'date-fns';
11
12
  import 'node:crypto';
12
- import { h as encrypt, d as createCredentialsResolver, e as updatePaymentRequestStatusCommand, a as getPaymentRequestsByBatchIdQuery, g as getBatchByIdQuery, u as upsertBatchCommand, i as importAesKey, f as createPaymentCommand, b as getAccountByIdQuery } from './shared/bank.CtxJ_SOF.mjs';
13
13
  import 'drizzle-orm/zod';
14
14
  import 'drizzle-orm/sqlite-core';
15
15
 
@@ -71,6 +71,25 @@ async function heartbeatSyncWorkflows({
71
71
  );
72
72
  }
73
73
 
74
+ const FINITE_STATUSES = /* @__PURE__ */ new Set([
75
+ "complete",
76
+ "errored",
77
+ "terminated"
78
+ ]);
79
+ async function terminateSyncWorkflow(instance) {
80
+ const { status } = await instance.status();
81
+ if (FINITE_STATUSES.has(status)) return;
82
+ try {
83
+ await instance.terminate();
84
+ } catch (err) {
85
+ if (!isAlreadyFiniteError(err)) throw err;
86
+ }
87
+ }
88
+ function isAlreadyFiniteError(err) {
89
+ const message = err instanceof Error ? err.message : String(err);
90
+ return /cannot_terminate|finite state/i.test(message);
91
+ }
92
+
74
93
  const upsertAccountCommand = (db, { account }) => {
75
94
  const id = account.id || uuidv4();
76
95
  const { id: _id, ...accountWithoutId } = account;
@@ -869,7 +888,7 @@ let BankServiceBase = class extends develitWorker(WorkerEntrypoint) {
869
888
  { successMessage: "Account sync workflow terminated" },
870
889
  async ({ accountId }) => {
871
890
  const instance = await this.env.SYNC_ACCOUNT_PAYMENTS_WORKFLOW.get(accountId);
872
- await instance.terminate();
891
+ await terminateSyncWorkflow(instance);
873
892
  return {
874
893
  instanceId: instance.id
875
894
  };
@@ -1932,7 +1951,7 @@ let BankServiceBase = class extends develitWorker(WorkerEntrypoint) {
1932
1951
  }
1933
1952
  try {
1934
1953
  const instance = await this.env.SYNC_ACCOUNT_PAYMENTS_WORKFLOW.get(accountId);
1935
- await instance.terminate();
1954
+ await terminateSyncWorkflow(instance);
1936
1955
  } catch (error) {
1937
1956
  this.log({
1938
1957
  message: "No workflow instance found for account, skipping termination.",
@@ -1,4 +1,4 @@
1
- export { aB as account, aC as accountCredentials, aD as batch, aE as ott, aF as payment, aG as paymentRequest } from '../shared/bank.BrBu52ls.cjs';
1
+ export { aB as account, aC as accountCredentials, aD as batch, aE as ott, aF as payment, aG as paymentRequest } from '../shared/bank.CdkOsZE8.cjs';
2
2
  import 'drizzle-orm/sqlite-core';
3
3
  import 'drizzle-orm';
4
4
  import '@develit-io/general-codes';
@@ -1,4 +1,4 @@
1
- export { aB as account, aC as accountCredentials, aD as batch, aE as ott, aF as payment, aG as paymentRequest } from '../shared/bank.BrBu52ls.mjs';
1
+ export { aB as account, aC as accountCredentials, aD as batch, aE as ott, aF as payment, aG as paymentRequest } from '../shared/bank.CdkOsZE8.mjs';
2
2
  import 'drizzle-orm/sqlite-core';
3
3
  import 'drizzle-orm';
4
4
  import '@develit-io/general-codes';
@@ -1,4 +1,4 @@
1
- export { aB as account, aC as accountCredentials, aD as batch, aE as ott, aF as payment, aG as paymentRequest } from '../shared/bank.BrBu52ls.js';
1
+ export { aB as account, aC as accountCredentials, aD as batch, aE as ott, aF as payment, aG as paymentRequest } from '../shared/bank.CdkOsZE8.js';
2
2
  import 'drizzle-orm/sqlite-core';
3
3
  import 'drizzle-orm';
4
4
  import '@develit-io/general-codes';
@@ -1,20 +1,20 @@
1
1
  'use strict';
2
2
 
3
3
  const backendSdk = require('@develit-io/backend-sdk');
4
- const bank = require('../shared/bank.3A2oRRgQ.cjs');
4
+ const paymentDirection = require('../shared/bank.DMrkshJa.cjs');
5
5
  const batchLifecycle = require('../shared/bank.NF8bZBy0.cjs');
6
6
  const drizzleOrm = require('drizzle-orm');
7
- const credentialsResolver = require('../shared/bank.C_IudwLH.cjs');
7
+ const bank = require('../shared/bank.B04qoHtD.cjs');
8
8
  const cloudflare_workers = require('cloudflare:workers');
9
9
  const cloudflare_workflows = require('cloudflare:workflows');
10
10
  const d1 = require('drizzle-orm/d1');
11
11
  require('node:crypto');
12
12
  require('date-fns');
13
- require('jose');
14
- require('zod');
15
- require('@develit-io/general-codes');
16
13
  require('../shared/bank.9Yw4KHyl.cjs');
17
14
  require('drizzle-orm/sqlite-core');
15
+ require('@develit-io/general-codes');
16
+ require('jose');
17
+ require('zod');
18
18
  require('drizzle-orm/zod');
19
19
 
20
20
  const updateAccountLastSyncCommand = (db, {
@@ -22,10 +22,10 @@ const updateAccountLastSyncCommand = (db, {
22
22
  accountId,
23
23
  lastSyncMetadata
24
24
  }) => {
25
- const command = db.update(bank.tables.account).set({
25
+ const command = db.update(paymentDirection.tables.account).set({
26
26
  lastSyncAt,
27
27
  lastSyncMetadata
28
- }).where(drizzleOrm.eq(bank.tables.account.id, accountId)).returning();
28
+ }).where(drizzleOrm.eq(paymentDirection.tables.account.id, accountId)).returning();
29
29
  return {
30
30
  command
31
31
  };
@@ -75,14 +75,14 @@ async function pushToQueue$1(queue, message) {
75
75
  }
76
76
  async function failBatchAndPayments(db, batch, paymentRequests, reason) {
77
77
  const prCmds = paymentRequests.filter((p) => p.status !== "REJECTED").map(
78
- (p) => credentialsResolver.updatePaymentRequestStatusCommand(db, {
78
+ (p) => bank.updatePaymentRequestStatusCommand(db, {
79
79
  id: p.id,
80
80
  status: "REJECTED",
81
81
  statusReason: reason,
82
82
  processedAt: /* @__PURE__ */ new Date()
83
83
  }).command
84
84
  );
85
- const batchCmd = credentialsResolver.upsertBatchCommand(db, {
85
+ const batchCmd = bank.upsertBatchCommand(db, {
86
86
  batch: { ...batch, status: "FAILED" }
87
87
  }).command;
88
88
  const allCmds = [batchCmd, ...prCmds];
@@ -93,9 +93,9 @@ async function failBatchAndPayments(db, batch, paymentRequests, reason) {
93
93
  class BankProcessBatch extends cloudflare_workers.WorkflowEntrypoint {
94
94
  async run(event, step) {
95
95
  const { batchId } = event.payload;
96
- const db = d1.drizzle(this.env.BANK_D1, { schema: bank.tables, relations: bank.relations });
96
+ const db = d1.drizzle(this.env.BANK_D1, { schema: paymentDirection.tables, relations: paymentDirection.relations });
97
97
  const batch = await step.do("load batch", async () => {
98
- const batch2 = await credentialsResolver.getBatchByIdQuery(db, { batchId });
98
+ const batch2 = await bank.getBatchByIdQuery(db, { batchId });
99
99
  if (!batch2) {
100
100
  throw new cloudflare_workflows.NonRetryableError(`Batch not found`);
101
101
  }
@@ -104,13 +104,13 @@ class BankProcessBatch extends cloudflare_workers.WorkflowEntrypoint {
104
104
  return batch2;
105
105
  });
106
106
  const paymentRequests = await step.do("load payment requests", async () => {
107
- return await credentialsResolver.getPaymentRequestsByBatchIdQuery(db, { batchId });
107
+ return await bank.getPaymentRequestsByBatchIdQuery(db, { batchId });
108
108
  });
109
109
  if (paymentRequests.length === 0) {
110
110
  throw new cloudflare_workflows.NonRetryableError("No payments found for batch");
111
111
  }
112
112
  await step.do("lock batch", async () => {
113
- const paymentsChecksum = credentialsResolver.checksum(paymentRequests);
113
+ const paymentsChecksum = bank.checksum(paymentRequests);
114
114
  if (batch.paymentsChecksum && batch.paymentsChecksum !== paymentsChecksum)
115
115
  throw new cloudflare_workflows.NonRetryableError(
116
116
  `Batch payments have been modified externally, manual review needed`
@@ -120,7 +120,7 @@ class BankProcessBatch extends cloudflare_workers.WorkflowEntrypoint {
120
120
  `Batch is in FAILED status and cannot be processed, manual review needed`
121
121
  );
122
122
  if (batchLifecycle.isBatchProcessing(batch)) {
123
- const updatedBatch = await credentialsResolver.upsertBatchCommand(db, {
123
+ const updatedBatch = await bank.upsertBatchCommand(db, {
124
124
  batch: {
125
125
  ...batch,
126
126
  status: "PROCESSING",
@@ -139,14 +139,14 @@ class BankProcessBatch extends cloudflare_workers.WorkflowEntrypoint {
139
139
  },
140
140
  async () => {
141
141
  const batchedPayments = paymentRequests.map(
142
- bank.toBatchedPaymentFromPaymentRequest
142
+ paymentDirection.toBatchedPaymentFromPaymentRequest
143
143
  );
144
- const currentBatch = await credentialsResolver.getBatchByIdQuery(db, { batchId });
144
+ const currentBatch = await bank.getBatchByIdQuery(db, { batchId });
145
145
  if (currentBatch?.batchPaymentInitiatedAt) {
146
146
  return {
147
147
  authorizationUrls: currentBatch.authorizationUrls,
148
148
  preparedPayments: batchedPayments.map(
149
- (p) => bank.toPreparedPayment(
149
+ (p) => paymentDirection.toPreparedPayment(
150
150
  p,
151
151
  void 0,
152
152
  currentBatch.batchPaymentInitiatedAt
@@ -155,7 +155,7 @@ class BankProcessBatch extends cloudflare_workers.WorkflowEntrypoint {
155
155
  metadata: currentBatch.metadata
156
156
  };
157
157
  }
158
- const account = await credentialsResolver.getAccountByIdQuery(db, {
158
+ const account = await bank.getAccountByIdQuery(db, {
159
159
  accountId: batch.accountId
160
160
  });
161
161
  if (!account) {
@@ -163,7 +163,7 @@ class BankProcessBatch extends cloudflare_workers.WorkflowEntrypoint {
163
163
  await failBatchAndPayments(db, batch, paymentRequests, msg);
164
164
  throw new cloudflare_workflows.NonRetryableError(msg);
165
165
  }
166
- const resolveCredentials = await credentialsResolver.createCredentialsResolver(db, this.env);
166
+ const resolveCredentials = await bank.createCredentialsResolver(db, this.env);
167
167
  const connector = await bank.initiateConnector({
168
168
  env: this.env,
169
169
  bank: account.connectorKey,
@@ -221,7 +221,7 @@ class BankProcessBatch extends cloudflare_workers.WorkflowEntrypoint {
221
221
  const { preparedPayments, authorizationUrls } = batchResult;
222
222
  const isPaymentRequestFallback = authorizationUrls.length === preparedPayments.length;
223
223
  const updateCommands = preparedPayments.map(
224
- (pp, i) => credentialsResolver.updatePaymentRequestStatusCommand(db, {
224
+ (pp, i) => bank.updatePaymentRequestStatusCommand(db, {
225
225
  id: pp.id,
226
226
  status: "OPENED",
227
227
  bankRefId: pp.bankRefId,
@@ -235,7 +235,7 @@ class BankProcessBatch extends cloudflare_workers.WorkflowEntrypoint {
235
235
  return { updated: updateCommands.length };
236
236
  });
237
237
  await step.do("update batch to ready to sign", async () => {
238
- const upsertBatch = credentialsResolver.upsertBatchCommand(db, {
238
+ const upsertBatch = bank.upsertBatchCommand(db, {
239
239
  batch: {
240
240
  ...batch,
241
241
  authorizationUrls: batchResult.authorizationUrls,
@@ -257,14 +257,14 @@ class BankProcessBatch extends cloudflare_workers.WorkflowEntrypoint {
257
257
  await step.do("mock: complete payments and update batch", async () => {
258
258
  const processedAt = /* @__PURE__ */ new Date();
259
259
  const updateCommands = batchResult.preparedPayments.map(
260
- (p) => credentialsResolver.updatePaymentRequestStatusCommand(db, {
260
+ (p) => bank.updatePaymentRequestStatusCommand(db, {
261
261
  id: p.id,
262
262
  status: "SETTLED",
263
263
  bankRefId: `MOCK-${backendSdk.uuidv4()}`,
264
264
  processedAt
265
265
  }).command
266
266
  );
267
- const updateBatchCommand = credentialsResolver.upsertBatchCommand(db, {
267
+ const updateBatchCommand = bank.upsertBatchCommand(db, {
268
268
  batch: {
269
269
  ...batch,
270
270
  status: "COMPLETED",
@@ -355,7 +355,7 @@ async function pushToQueue(queue, message) {
355
355
  class BankSyncAccountPayments extends cloudflare_workers.WorkflowEntrypoint {
356
356
  async run(event, step) {
357
357
  const { accountId } = event.payload;
358
- const db = d1.drizzle(this.env.BANK_D1, { schema: bank.tables, relations: bank.relations });
358
+ const db = d1.drizzle(this.env.BANK_D1, { schema: paymentDirection.tables, relations: paymentDirection.relations });
359
359
  const logger = createWorkflowLogger(event.instanceId);
360
360
  if (!accountId) {
361
361
  throw new cloudflare_workflows.NonRetryableError(`Haven't obtained accountId to load.`);
@@ -367,7 +367,7 @@ class BankSyncAccountPayments extends cloudflare_workers.WorkflowEntrypoint {
367
367
  while (true) {
368
368
  const now = /* @__PURE__ */ new Date();
369
369
  const account = await step.do("load account", async () => {
370
- const account2 = await credentialsResolver.getAccountByIdQuery(db, { accountId });
370
+ const account2 = await bank.getAccountByIdQuery(db, { accountId });
371
371
  if (!account2) {
372
372
  throw new cloudflare_workflows.NonRetryableError(`Bank account not found: ${accountId}`);
373
373
  }
@@ -389,7 +389,7 @@ class BankSyncAccountPayments extends cloudflare_workers.WorkflowEntrypoint {
389
389
  connectorKey: account.connectorKey,
390
390
  lastSyncAt: account.lastSyncAt?.toISOString()
391
391
  });
392
- const resolveCredentials = await credentialsResolver.createCredentialsResolver(
392
+ const resolveCredentials = await bank.createCredentialsResolver(
393
393
  db,
394
394
  this.env
395
395
  );
@@ -442,7 +442,7 @@ class BankSyncAccountPayments extends cloudflare_workers.WorkflowEntrypoint {
442
442
  }
443
443
  );
444
444
  const paymentsToProcess = payments.filter(
445
- (p) => bank.isPaymentCompleted(p.parsed)
445
+ (p) => paymentDirection.isPaymentCompleted(p.parsed)
446
446
  );
447
447
  const lastSyncBankRefIds = account.lastSyncMetadata?.lastSyncBankRefIds || [];
448
448
  const paymentsToInsert = paymentsToProcess.filter(
@@ -457,11 +457,11 @@ class BankSyncAccountPayments extends cloudflare_workers.WorkflowEntrypoint {
457
457
  const matchingRequests = [];
458
458
  for (let i = 0; i < bankRefIds.length; i += BANK_REF_ID_CHUNK_SIZE) {
459
459
  const chunkIds = bankRefIds.slice(i, i + BANK_REF_ID_CHUNK_SIZE);
460
- const rows = await db.select().from(bank.tables.paymentRequest).where(
460
+ const rows = await db.select().from(paymentDirection.tables.paymentRequest).where(
461
461
  drizzleOrm.and(
462
- drizzleOrm.inArray(bank.tables.paymentRequest.bankRefId, chunkIds),
463
- drizzleOrm.eq(bank.tables.paymentRequest.accountId, account.id),
464
- drizzleOrm.eq(bank.tables.paymentRequest.connectorKey, account.connectorKey)
462
+ drizzleOrm.inArray(paymentDirection.tables.paymentRequest.bankRefId, chunkIds),
463
+ drizzleOrm.eq(paymentDirection.tables.paymentRequest.accountId, account.id),
464
+ drizzleOrm.eq(paymentDirection.tables.paymentRequest.connectorKey, account.connectorKey)
465
465
  )
466
466
  );
467
467
  matchingRequests.push(...rows);
@@ -496,7 +496,7 @@ class BankSyncAccountPayments extends cloudflare_workers.WorkflowEntrypoint {
496
496
  };
497
497
  });
498
498
  const createCommands = enrichedPayments.map(
499
- (p) => credentialsResolver.createPaymentCommand(db, { payment: p.parsed }).command
499
+ (p) => bank.createPaymentCommand(db, { payment: p.parsed }).command
500
500
  );
501
501
  eventsToEmit.push(
502
502
  ...enrichedPayments.map((p) => ({
@@ -1,18 +1,18 @@
1
1
  import { first, uuidv4, asNonEmpty } from '@develit-io/backend-sdk';
2
- import { G as tables, H as relations, v as toBatchedPaymentFromPaymentRequest, z as toPreparedPayment, J as initiateConnector, m as isPaymentCompleted } from '../shared/bank.BqLdCHnj.mjs';
2
+ import { G as tables, H as relations, v as toBatchedPaymentFromPaymentRequest, z as toPreparedPayment, m as isPaymentCompleted } from '../shared/bank.D0iIfh-X.mjs';
3
3
  import { i as isBatchAuthorized, b as isBatchFailed, d as isBatchProcessing } from '../shared/bank.XqSw509X.mjs';
4
4
  import { eq, and, inArray } from 'drizzle-orm';
5
- import { g as getBatchByIdQuery, a as getPaymentRequestsByBatchIdQuery, c as checksum, u as upsertBatchCommand, b as getAccountByIdQuery, d as createCredentialsResolver, e as updatePaymentRequestStatusCommand, f as createPaymentCommand } from '../shared/bank.CtxJ_SOF.mjs';
5
+ import { g as getBatchByIdQuery, a as getPaymentRequestsByBatchIdQuery, c as checksum, u as upsertBatchCommand, b as getAccountByIdQuery, d as createCredentialsResolver, i as initiateConnector, e as updatePaymentRequestStatusCommand, f as createPaymentCommand } from '../shared/bank._VynZSqn.mjs';
6
6
  import { WorkflowEntrypoint } from 'cloudflare:workers';
7
7
  import { NonRetryableError } from 'cloudflare:workflows';
8
8
  import { drizzle } from 'drizzle-orm/d1';
9
9
  import 'node:crypto';
10
10
  import 'date-fns';
11
- import 'jose';
12
- import 'zod';
13
- import '@develit-io/general-codes';
14
11
  import '../shared/bank.BzDNLxB_.mjs';
15
12
  import 'drizzle-orm/sqlite-core';
13
+ import '@develit-io/general-codes';
14
+ import 'jose';
15
+ import 'zod';
16
16
  import 'drizzle-orm/zod';
17
17
 
18
18
  const updateAccountLastSyncCommand = (db, {