@develit-services/bank 0.8.8 → 0.8.10
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/README.md +150 -275
- package/dist/database/schema.cjs +1 -1
- package/dist/database/schema.d.cts +2 -2
- package/dist/database/schema.d.mts +2 -2
- package/dist/database/schema.d.ts +2 -2
- package/dist/database/schema.mjs +1 -1
- package/dist/export/worker.cjs +405 -549
- package/dist/export/worker.d.cts +855 -86
- package/dist/export/worker.d.mts +855 -86
- package/dist/export/worker.d.ts +855 -86
- package/dist/export/worker.mjs +405 -549
- package/dist/export/workflows.cjs +16 -16
- package/dist/export/workflows.mjs +16 -16
- package/dist/export/wrangler.cjs +0 -12
- package/dist/export/wrangler.d.cts +1 -8
- package/dist/export/wrangler.d.mts +1 -8
- package/dist/export/wrangler.d.ts +1 -8
- package/dist/export/wrangler.mjs +0 -12
- package/dist/shared/{bank.JVlyPAAb.cjs → bank.BBXoZ5QU.cjs} +26 -13
- package/dist/shared/{bank.DRTuKO8S.d.ts → bank.BCop1cDT.d.mts} +4 -15
- package/dist/shared/{bank.Bg3Pdwm4.cjs → bank.BsIiXsFH.cjs} +5 -13
- package/dist/shared/{bank.BoZtXQpG.mjs → bank.CR0UlyRi.mjs} +1 -1
- package/dist/shared/{bank.CtnsGHM8.cjs → bank.CUvVxlHy.cjs} +126 -152
- package/dist/shared/{bank.DJnDSYqE.cjs → bank.CVi6R7fr.cjs} +1 -1
- package/dist/shared/{bank.C6jjS1Pl.mjs → bank.CXBeULUL.mjs} +25 -14
- package/dist/shared/{bank.DT6bg8k5.cjs → bank.Cev1E9sk.cjs} +2 -2
- package/dist/shared/{bank.B-NJB8GB.d.cts → bank.Cj2Goq7s.d.cts} +104 -176
- package/dist/shared/{bank.B-NJB8GB.d.mts → bank.Cj2Goq7s.d.mts} +104 -176
- package/dist/shared/{bank.B-NJB8GB.d.ts → bank.Cj2Goq7s.d.ts} +104 -176
- package/dist/shared/{bank.BzobShUU.d.cts → bank.CjTfEd1Q.d.cts} +4 -15
- package/dist/shared/{bank.BtszLapg.mjs → bank.D-O_gmmZ.mjs} +127 -152
- package/dist/shared/{bank.BP_3WMIF.d.cts → bank.DMjtitKo.d.cts} +0 -1
- package/dist/shared/{bank.BP_3WMIF.d.mts → bank.DMjtitKo.d.mts} +0 -1
- package/dist/shared/{bank.BP_3WMIF.d.ts → bank.DMjtitKo.d.ts} +0 -1
- package/dist/shared/{bank.CAVvvZZO.d.mts → bank.OlDt7dpb.d.ts} +4 -15
- package/dist/shared/{bank.CbAwwIhZ.mjs → bank.vz1uqEYa.mjs} +5 -11
- package/dist/shared/{bank.B5bZRvgq.mjs → bank.xB9eTN77.mjs} +2 -2
- package/dist/types.cjs +6 -6
- package/dist/types.d.cts +26 -45
- package/dist/types.d.mts +26 -45
- package/dist/types.d.ts +26 -45
- package/dist/types.mjs +3 -3
- package/package.json +1 -1
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
const backendSdk = require('@develit-io/backend-sdk');
|
|
4
|
-
const drizzle = require('../shared/bank.
|
|
5
|
-
const batchLifecycle = require('../shared/bank.
|
|
6
|
-
const mock_connector = require('../shared/bank.
|
|
4
|
+
const drizzle = require('../shared/bank.Cev1E9sk.cjs');
|
|
5
|
+
const batchLifecycle = require('../shared/bank.BsIiXsFH.cjs');
|
|
6
|
+
const mock_connector = require('../shared/bank.CUvVxlHy.cjs');
|
|
7
7
|
const drizzleOrm = require('drizzle-orm');
|
|
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
|
-
require('../shared/bank.
|
|
12
|
+
require('../shared/bank.BBXoZ5QU.cjs');
|
|
13
13
|
require('drizzle-orm/relations');
|
|
14
14
|
require('drizzle-orm/sqlite-core');
|
|
15
15
|
require('date-fns');
|
|
16
16
|
require('jose');
|
|
17
17
|
require('@develit-io/general-codes');
|
|
18
18
|
require('drizzle-zod');
|
|
19
|
-
require('../shared/bank.
|
|
19
|
+
require('../shared/bank.CVi6R7fr.cjs');
|
|
20
20
|
|
|
21
21
|
const updateAccountLastSyncCommand = (db, {
|
|
22
22
|
lastSyncAt,
|
|
@@ -42,10 +42,10 @@ function pushToQueue$1(queue, message) {
|
|
|
42
42
|
);
|
|
43
43
|
}
|
|
44
44
|
async function failBatchAndPayments(db, batch, paymentRequests, reason) {
|
|
45
|
-
const prCmds = paymentRequests.filter((p) => p.status !== "
|
|
45
|
+
const prCmds = paymentRequests.filter((p) => p.status !== "REJECTED").map(
|
|
46
46
|
(p) => drizzle.updatePaymentRequestStatusCommand(db, {
|
|
47
47
|
id: p.id,
|
|
48
|
-
status: "
|
|
48
|
+
status: "REJECTED",
|
|
49
49
|
statusReason: reason,
|
|
50
50
|
processedAt: /* @__PURE__ */ new Date()
|
|
51
51
|
}).command
|
|
@@ -67,7 +67,7 @@ class BankProcessBatch extends cloudflare_workers.WorkflowEntrypoint {
|
|
|
67
67
|
if (!batch2) {
|
|
68
68
|
throw new cloudflare_workflows.NonRetryableError(`Batch not found`);
|
|
69
69
|
}
|
|
70
|
-
if (batchLifecycle.
|
|
70
|
+
if (batchLifecycle.isBatchAuthorized(batch2))
|
|
71
71
|
throw new cloudflare_workflows.NonRetryableError(`Batch already signed`);
|
|
72
72
|
return batch2;
|
|
73
73
|
});
|
|
@@ -87,7 +87,7 @@ class BankProcessBatch extends cloudflare_workers.WorkflowEntrypoint {
|
|
|
87
87
|
throw new cloudflare_workflows.NonRetryableError(
|
|
88
88
|
`Batch is in FAILED status and cannot be processed, manual review needed`
|
|
89
89
|
);
|
|
90
|
-
if (batchLifecycle.
|
|
90
|
+
if (batchLifecycle.isBatchProcessing(batch)) {
|
|
91
91
|
const updatedBatch = await drizzle.upsertBatchCommand(db, {
|
|
92
92
|
batch: {
|
|
93
93
|
...batch,
|
|
@@ -190,7 +190,7 @@ class BankProcessBatch extends cloudflare_workers.WorkflowEntrypoint {
|
|
|
190
190
|
const updateCommands = preparedPayments.map(
|
|
191
191
|
(pp, i) => drizzle.updatePaymentRequestStatusCommand(db, {
|
|
192
192
|
id: pp.id,
|
|
193
|
-
status: "
|
|
193
|
+
status: "OPENED",
|
|
194
194
|
bankRefId: pp.bankRefId,
|
|
195
195
|
initiatedAt: pp.initiatedAt,
|
|
196
196
|
authorizationUrl: isPaymentRequestFallback ? authorizationUrls[i] : authorizationUrls[0]
|
|
@@ -226,7 +226,7 @@ class BankProcessBatch extends cloudflare_workers.WorkflowEntrypoint {
|
|
|
226
226
|
const updateCommands = batchResult.preparedPayments.map(
|
|
227
227
|
(p) => drizzle.updatePaymentRequestStatusCommand(db, {
|
|
228
228
|
id: p.id,
|
|
229
|
-
status: "
|
|
229
|
+
status: "SETTLED",
|
|
230
230
|
bankRefId: `MOCK-${backendSdk.uuidv4()}`,
|
|
231
231
|
processedAt
|
|
232
232
|
}).command
|
|
@@ -243,7 +243,7 @@ class BankProcessBatch extends cloudflare_workers.WorkflowEntrypoint {
|
|
|
243
243
|
await db.batch([updateBatchCommand, ...updateCommands]);
|
|
244
244
|
const eventsToEmit = batchResult.preparedPayments.map((payment) => ({
|
|
245
245
|
eventType: "BANK_PAYMENT",
|
|
246
|
-
eventSignal: "
|
|
246
|
+
eventSignal: "paymentFetched",
|
|
247
247
|
bankPayment: payment,
|
|
248
248
|
metadata: {
|
|
249
249
|
correlationId: backendSdk.uuidv4(),
|
|
@@ -401,18 +401,18 @@ class BankSyncAccountPayments extends cloudflare_workers.WorkflowEntrypoint {
|
|
|
401
401
|
(p) => drizzle.createPaymentCommand(db, { payment: p.parsed }).command
|
|
402
402
|
);
|
|
403
403
|
const prCompleteCommands = matchingRequests.filter(
|
|
404
|
-
(req) => req.status !== "
|
|
404
|
+
(req) => req.status !== "SETTLED" && req.status !== "REJECTED"
|
|
405
405
|
).map(
|
|
406
406
|
(req) => drizzle.updatePaymentRequestStatusCommand(db, {
|
|
407
407
|
id: req.id,
|
|
408
|
-
status: "
|
|
408
|
+
status: "SETTLED",
|
|
409
409
|
processedAt: /* @__PURE__ */ new Date()
|
|
410
410
|
}).command
|
|
411
411
|
);
|
|
412
412
|
eventsToEmit.push(
|
|
413
413
|
...enrichedPayments.map((p) => ({
|
|
414
414
|
eventType: "BANK_PAYMENT",
|
|
415
|
-
eventSignal: "
|
|
415
|
+
eventSignal: "paymentFetched",
|
|
416
416
|
bankPayment: p.parsed,
|
|
417
417
|
metadata: {
|
|
418
418
|
correlationId: p.parsed.correlationId,
|
|
@@ -425,7 +425,7 @@ class BankSyncAccountPayments extends cloudflare_workers.WorkflowEntrypoint {
|
|
|
425
425
|
payments: payments.length,
|
|
426
426
|
paymentsToProcess: paymentsToProcess.length,
|
|
427
427
|
paymentsInserted: paymentsToInsert.length,
|
|
428
|
-
lastSyncBankRefIds: paymentsToProcess.filter((p) => p.parsed.status === "
|
|
428
|
+
lastSyncBankRefIds: paymentsToProcess.filter((p) => p.parsed.status === "BOOKED").map((p) => p.parsed.bankRefId),
|
|
429
429
|
lastSyncPayments: lastSyncBankRefIds.length,
|
|
430
430
|
eventsEmitted: eventsToEmit.length
|
|
431
431
|
};
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { first, uuidv4, asNonEmpty } from '@develit-io/backend-sdk';
|
|
2
|
-
import { t as tables, 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.
|
|
3
|
-
import {
|
|
4
|
-
import { e as toBatchedPaymentFromPaymentRequest, i as toPreparedPayment, j as initiateConnector } from '../shared/bank.
|
|
2
|
+
import { t as tables, 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.xB9eTN77.mjs';
|
|
3
|
+
import { i as isBatchAuthorized, b as isBatchFailed, d as isBatchProcessing, f as isPaymentCompleted } from '../shared/bank.vz1uqEYa.mjs';
|
|
4
|
+
import { e as toBatchedPaymentFromPaymentRequest, i as toPreparedPayment, j as initiateConnector } from '../shared/bank.D-O_gmmZ.mjs';
|
|
5
5
|
import { eq, and, inArray } from 'drizzle-orm';
|
|
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
|
-
import '../shared/bank.
|
|
10
|
+
import '../shared/bank.CXBeULUL.mjs';
|
|
11
11
|
import 'drizzle-orm/relations';
|
|
12
12
|
import 'drizzle-orm/sqlite-core';
|
|
13
13
|
import 'date-fns';
|
|
14
14
|
import 'jose';
|
|
15
15
|
import '@develit-io/general-codes';
|
|
16
16
|
import 'drizzle-zod';
|
|
17
|
-
import '../shared/bank.
|
|
17
|
+
import '../shared/bank.CR0UlyRi.mjs';
|
|
18
18
|
|
|
19
19
|
const updateAccountLastSyncCommand = (db, {
|
|
20
20
|
lastSyncAt,
|
|
@@ -40,10 +40,10 @@ function pushToQueue$1(queue, message) {
|
|
|
40
40
|
);
|
|
41
41
|
}
|
|
42
42
|
async function failBatchAndPayments(db, batch, paymentRequests, reason) {
|
|
43
|
-
const prCmds = paymentRequests.filter((p) => p.status !== "
|
|
43
|
+
const prCmds = paymentRequests.filter((p) => p.status !== "REJECTED").map(
|
|
44
44
|
(p) => updatePaymentRequestStatusCommand(db, {
|
|
45
45
|
id: p.id,
|
|
46
|
-
status: "
|
|
46
|
+
status: "REJECTED",
|
|
47
47
|
statusReason: reason,
|
|
48
48
|
processedAt: /* @__PURE__ */ new Date()
|
|
49
49
|
}).command
|
|
@@ -65,7 +65,7 @@ class BankProcessBatch extends WorkflowEntrypoint {
|
|
|
65
65
|
if (!batch2) {
|
|
66
66
|
throw new NonRetryableError(`Batch not found`);
|
|
67
67
|
}
|
|
68
|
-
if (
|
|
68
|
+
if (isBatchAuthorized(batch2))
|
|
69
69
|
throw new NonRetryableError(`Batch already signed`);
|
|
70
70
|
return batch2;
|
|
71
71
|
});
|
|
@@ -85,7 +85,7 @@ class BankProcessBatch extends WorkflowEntrypoint {
|
|
|
85
85
|
throw new NonRetryableError(
|
|
86
86
|
`Batch is in FAILED status and cannot be processed, manual review needed`
|
|
87
87
|
);
|
|
88
|
-
if (
|
|
88
|
+
if (isBatchProcessing(batch)) {
|
|
89
89
|
const updatedBatch = await upsertBatchCommand(db, {
|
|
90
90
|
batch: {
|
|
91
91
|
...batch,
|
|
@@ -188,7 +188,7 @@ class BankProcessBatch extends WorkflowEntrypoint {
|
|
|
188
188
|
const updateCommands = preparedPayments.map(
|
|
189
189
|
(pp, i) => updatePaymentRequestStatusCommand(db, {
|
|
190
190
|
id: pp.id,
|
|
191
|
-
status: "
|
|
191
|
+
status: "OPENED",
|
|
192
192
|
bankRefId: pp.bankRefId,
|
|
193
193
|
initiatedAt: pp.initiatedAt,
|
|
194
194
|
authorizationUrl: isPaymentRequestFallback ? authorizationUrls[i] : authorizationUrls[0]
|
|
@@ -224,7 +224,7 @@ class BankProcessBatch extends WorkflowEntrypoint {
|
|
|
224
224
|
const updateCommands = batchResult.preparedPayments.map(
|
|
225
225
|
(p) => updatePaymentRequestStatusCommand(db, {
|
|
226
226
|
id: p.id,
|
|
227
|
-
status: "
|
|
227
|
+
status: "SETTLED",
|
|
228
228
|
bankRefId: `MOCK-${uuidv4()}`,
|
|
229
229
|
processedAt
|
|
230
230
|
}).command
|
|
@@ -241,7 +241,7 @@ class BankProcessBatch extends WorkflowEntrypoint {
|
|
|
241
241
|
await db.batch([updateBatchCommand, ...updateCommands]);
|
|
242
242
|
const eventsToEmit = batchResult.preparedPayments.map((payment) => ({
|
|
243
243
|
eventType: "BANK_PAYMENT",
|
|
244
|
-
eventSignal: "
|
|
244
|
+
eventSignal: "paymentFetched",
|
|
245
245
|
bankPayment: payment,
|
|
246
246
|
metadata: {
|
|
247
247
|
correlationId: uuidv4(),
|
|
@@ -399,18 +399,18 @@ class BankSyncAccountPayments extends WorkflowEntrypoint {
|
|
|
399
399
|
(p) => createPaymentCommand(db, { payment: p.parsed }).command
|
|
400
400
|
);
|
|
401
401
|
const prCompleteCommands = matchingRequests.filter(
|
|
402
|
-
(req) => req.status !== "
|
|
402
|
+
(req) => req.status !== "SETTLED" && req.status !== "REJECTED"
|
|
403
403
|
).map(
|
|
404
404
|
(req) => updatePaymentRequestStatusCommand(db, {
|
|
405
405
|
id: req.id,
|
|
406
|
-
status: "
|
|
406
|
+
status: "SETTLED",
|
|
407
407
|
processedAt: /* @__PURE__ */ new Date()
|
|
408
408
|
}).command
|
|
409
409
|
);
|
|
410
410
|
eventsToEmit.push(
|
|
411
411
|
...enrichedPayments.map((p) => ({
|
|
412
412
|
eventType: "BANK_PAYMENT",
|
|
413
|
-
eventSignal: "
|
|
413
|
+
eventSignal: "paymentFetched",
|
|
414
414
|
bankPayment: p.parsed,
|
|
415
415
|
metadata: {
|
|
416
416
|
correlationId: p.parsed.correlationId,
|
|
@@ -423,7 +423,7 @@ class BankSyncAccountPayments extends WorkflowEntrypoint {
|
|
|
423
423
|
payments: payments.length,
|
|
424
424
|
paymentsToProcess: paymentsToProcess.length,
|
|
425
425
|
paymentsInserted: paymentsToInsert.length,
|
|
426
|
-
lastSyncBankRefIds: paymentsToProcess.filter((p) => p.parsed.status === "
|
|
426
|
+
lastSyncBankRefIds: paymentsToProcess.filter((p) => p.parsed.status === "BOOKED").map((p) => p.parsed.bankRefId),
|
|
427
427
|
lastSyncPayments: lastSyncBankRefIds.length,
|
|
428
428
|
eventsEmitted: eventsToEmit.length
|
|
429
429
|
};
|
package/dist/export/wrangler.cjs
CHANGED
|
@@ -55,10 +55,6 @@ function defineBankServiceWrangler(config) {
|
|
|
55
55
|
],
|
|
56
56
|
queues: {
|
|
57
57
|
producers: [
|
|
58
|
-
{
|
|
59
|
-
binding: "PAYMENTS_READY_TO_BATCH_QUEUE",
|
|
60
|
-
queue: `${project}-payments-ready-to-batch`
|
|
61
|
-
},
|
|
62
58
|
{
|
|
63
59
|
binding: envs.local.queues.producers.bus.binding,
|
|
64
60
|
queue: `${project}-${envs.local.queues.producers.bus.queue}`
|
|
@@ -67,14 +63,6 @@ function defineBankServiceWrangler(config) {
|
|
|
67
63
|
binding: "NOTIFICATIONS_QUEUE",
|
|
68
64
|
queue: `${project}-notifications`
|
|
69
65
|
}
|
|
70
|
-
],
|
|
71
|
-
consumers: [
|
|
72
|
-
{
|
|
73
|
-
queue: `${project}-payments-ready-to-batch`,
|
|
74
|
-
max_batch_size: 1,
|
|
75
|
-
max_batch_timeout: 5,
|
|
76
|
-
dead_letter_queue: `${project}-payments-ready-to-batch-dlq`
|
|
77
|
-
}
|
|
78
66
|
]
|
|
79
67
|
},
|
|
80
68
|
env: {}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { B as BankServiceWranglerConfig } from '../shared/bank.
|
|
1
|
+
import { B as BankServiceWranglerConfig } from '../shared/bank.DMjtitKo.cjs';
|
|
2
2
|
|
|
3
3
|
declare function defineBankServiceWrangler(config: BankServiceWranglerConfig): {
|
|
4
4
|
vars: {
|
|
@@ -8,7 +8,6 @@ declare function defineBankServiceWrangler(config: BankServiceWranglerConfig): {
|
|
|
8
8
|
ERSTE_ACCOUNTS_URI: "https://webapi.developers.erstegroup.com/api/csas/public/sandbox/v3/accounts";
|
|
9
9
|
FINBRICKS_BASE_URI: "https://api.sandbox.finbricks.com";
|
|
10
10
|
FINBRICKS_MERCHANT_ID: string;
|
|
11
|
-
CRON_BATCH_STATUSES: string;
|
|
12
11
|
CRON_PAYMENT_STATUSES: string;
|
|
13
12
|
BANK_AUTH_RECIPIENT: string;
|
|
14
13
|
DBUCS_BASE_URI: string;
|
|
@@ -48,12 +47,6 @@ declare function defineBankServiceWrangler(config: BankServiceWranglerConfig): {
|
|
|
48
47
|
binding: string;
|
|
49
48
|
queue: string;
|
|
50
49
|
}[];
|
|
51
|
-
consumers: {
|
|
52
|
-
queue: string;
|
|
53
|
-
max_batch_size: number;
|
|
54
|
-
max_batch_timeout: number;
|
|
55
|
-
dead_letter_queue: string;
|
|
56
|
-
}[];
|
|
57
50
|
};
|
|
58
51
|
env: Record<string, unknown>;
|
|
59
52
|
$schema: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { B as BankServiceWranglerConfig } from '../shared/bank.
|
|
1
|
+
import { B as BankServiceWranglerConfig } from '../shared/bank.DMjtitKo.mjs';
|
|
2
2
|
|
|
3
3
|
declare function defineBankServiceWrangler(config: BankServiceWranglerConfig): {
|
|
4
4
|
vars: {
|
|
@@ -8,7 +8,6 @@ declare function defineBankServiceWrangler(config: BankServiceWranglerConfig): {
|
|
|
8
8
|
ERSTE_ACCOUNTS_URI: "https://webapi.developers.erstegroup.com/api/csas/public/sandbox/v3/accounts";
|
|
9
9
|
FINBRICKS_BASE_URI: "https://api.sandbox.finbricks.com";
|
|
10
10
|
FINBRICKS_MERCHANT_ID: string;
|
|
11
|
-
CRON_BATCH_STATUSES: string;
|
|
12
11
|
CRON_PAYMENT_STATUSES: string;
|
|
13
12
|
BANK_AUTH_RECIPIENT: string;
|
|
14
13
|
DBUCS_BASE_URI: string;
|
|
@@ -48,12 +47,6 @@ declare function defineBankServiceWrangler(config: BankServiceWranglerConfig): {
|
|
|
48
47
|
binding: string;
|
|
49
48
|
queue: string;
|
|
50
49
|
}[];
|
|
51
|
-
consumers: {
|
|
52
|
-
queue: string;
|
|
53
|
-
max_batch_size: number;
|
|
54
|
-
max_batch_timeout: number;
|
|
55
|
-
dead_letter_queue: string;
|
|
56
|
-
}[];
|
|
57
50
|
};
|
|
58
51
|
env: Record<string, unknown>;
|
|
59
52
|
$schema: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { B as BankServiceWranglerConfig } from '../shared/bank.
|
|
1
|
+
import { B as BankServiceWranglerConfig } from '../shared/bank.DMjtitKo.js';
|
|
2
2
|
|
|
3
3
|
declare function defineBankServiceWrangler(config: BankServiceWranglerConfig): {
|
|
4
4
|
vars: {
|
|
@@ -8,7 +8,6 @@ declare function defineBankServiceWrangler(config: BankServiceWranglerConfig): {
|
|
|
8
8
|
ERSTE_ACCOUNTS_URI: "https://webapi.developers.erstegroup.com/api/csas/public/sandbox/v3/accounts";
|
|
9
9
|
FINBRICKS_BASE_URI: "https://api.sandbox.finbricks.com";
|
|
10
10
|
FINBRICKS_MERCHANT_ID: string;
|
|
11
|
-
CRON_BATCH_STATUSES: string;
|
|
12
11
|
CRON_PAYMENT_STATUSES: string;
|
|
13
12
|
BANK_AUTH_RECIPIENT: string;
|
|
14
13
|
DBUCS_BASE_URI: string;
|
|
@@ -48,12 +47,6 @@ declare function defineBankServiceWrangler(config: BankServiceWranglerConfig): {
|
|
|
48
47
|
binding: string;
|
|
49
48
|
queue: string;
|
|
50
49
|
}[];
|
|
51
|
-
consumers: {
|
|
52
|
-
queue: string;
|
|
53
|
-
max_batch_size: number;
|
|
54
|
-
max_batch_timeout: number;
|
|
55
|
-
dead_letter_queue: string;
|
|
56
|
-
}[];
|
|
57
50
|
};
|
|
58
51
|
env: Record<string, unknown>;
|
|
59
52
|
$schema: string;
|
package/dist/export/wrangler.mjs
CHANGED
|
@@ -53,10 +53,6 @@ function defineBankServiceWrangler(config) {
|
|
|
53
53
|
],
|
|
54
54
|
queues: {
|
|
55
55
|
producers: [
|
|
56
|
-
{
|
|
57
|
-
binding: "PAYMENTS_READY_TO_BATCH_QUEUE",
|
|
58
|
-
queue: `${project}-payments-ready-to-batch`
|
|
59
|
-
},
|
|
60
56
|
{
|
|
61
57
|
binding: envs.local.queues.producers.bus.binding,
|
|
62
58
|
queue: `${project}-${envs.local.queues.producers.bus.queue}`
|
|
@@ -65,14 +61,6 @@ function defineBankServiceWrangler(config) {
|
|
|
65
61
|
binding: "NOTIFICATIONS_QUEUE",
|
|
66
62
|
queue: `${project}-notifications`
|
|
67
63
|
}
|
|
68
|
-
],
|
|
69
|
-
consumers: [
|
|
70
|
-
{
|
|
71
|
-
queue: `${project}-payments-ready-to-batch`,
|
|
72
|
-
max_batch_size: 1,
|
|
73
|
-
max_batch_timeout: 5,
|
|
74
|
-
dead_letter_queue: `${project}-payments-ready-to-batch-dlq`
|
|
75
|
-
}
|
|
76
64
|
]
|
|
77
65
|
},
|
|
78
66
|
env: {}
|
|
@@ -13,24 +13,34 @@ const drizzleZod = require('drizzle-zod');
|
|
|
13
13
|
const PAYMENT_TYPES = ["SEPA", "SWIFT", "DOMESTIC", "UNKNOWN"];
|
|
14
14
|
const CHARGE_BEARERS = ["SHA", "OUR", "BEN"];
|
|
15
15
|
const INSTRUCTION_PRIORITIES = ["NORM", "HIGH", "INST"];
|
|
16
|
+
const PAYMENT_REQUEST_STATUSES = [
|
|
17
|
+
"OPENED",
|
|
18
|
+
"AUTHORIZED",
|
|
19
|
+
"COMPLETED",
|
|
20
|
+
"BOOKED",
|
|
21
|
+
"SETTLED",
|
|
22
|
+
"REJECTED",
|
|
23
|
+
"CLOSED"
|
|
24
|
+
];
|
|
16
25
|
const PAYMENT_STATUSES = [
|
|
17
|
-
"CREATED",
|
|
18
|
-
"PREPARED",
|
|
19
|
-
"SIGNED",
|
|
20
26
|
"PENDING",
|
|
21
|
-
"
|
|
22
|
-
"
|
|
27
|
+
"PROCESSING",
|
|
28
|
+
"BOOKED",
|
|
29
|
+
"CANCELLED",
|
|
30
|
+
"REJECTED",
|
|
31
|
+
"SCHEDULED",
|
|
32
|
+
"HOLD",
|
|
33
|
+
"INFO"
|
|
23
34
|
];
|
|
24
35
|
const PAYMENT_DIRECTIONS = ["INCOMING", "OUTGOING"];
|
|
25
36
|
const BATCH_STATUSES = [
|
|
26
|
-
"OPEN",
|
|
27
37
|
"PROCESSING",
|
|
28
38
|
"READY_TO_SIGN",
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"FAILED"
|
|
32
|
-
"COMPLETED"
|
|
39
|
+
"AUTHORIZED",
|
|
40
|
+
"COMPLETED",
|
|
41
|
+
"FAILED"
|
|
33
42
|
];
|
|
43
|
+
const BATCH_MODES = ["NATIVE", "SINGLE"];
|
|
34
44
|
const ACCOUNT_STATUSES = ["AUTHORIZED", "DISABLED", "EXPIRED"];
|
|
35
45
|
const COUNTRY_CODES = generalCodes.COUNTRY_CODES_2;
|
|
36
46
|
|
|
@@ -132,7 +142,8 @@ const batch = sqliteCore.sqliteTable("batch", {
|
|
|
132
142
|
paymentType: sqliteCore.text("payment_type", {
|
|
133
143
|
enum: PAYMENT_TYPES
|
|
134
144
|
}).$type(),
|
|
135
|
-
paymentsChecksum: sqliteCore.text("payments_checksum")
|
|
145
|
+
paymentsChecksum: sqliteCore.text("payments_checksum"),
|
|
146
|
+
batchMode: sqliteCore.text("batch_mode", { enum: BATCH_MODES }).$type()
|
|
136
147
|
});
|
|
137
148
|
|
|
138
149
|
const payment = sqliteCore.sqliteTable(
|
|
@@ -151,7 +162,7 @@ const payment = sqliteCore.sqliteTable(
|
|
|
151
162
|
direction: sqliteCore.text("direction").$type().notNull(),
|
|
152
163
|
paymentType: sqliteCore.text("payment_type").$type().notNull(),
|
|
153
164
|
currency: sqliteCore.text("currency").$type().notNull(),
|
|
154
|
-
status: sqliteCore.text("status").$type().notNull(),
|
|
165
|
+
status: sqliteCore.text("status", { enum: PAYMENT_STATUSES }).$type().notNull(),
|
|
155
166
|
statusReason: sqliteCore.text("status_reason"),
|
|
156
167
|
batchId: sqliteCore.text("bank_execution_batch_id"),
|
|
157
168
|
initiatedAt: sqliteCore.integer("initiated_at", {
|
|
@@ -210,7 +221,7 @@ const paymentRequest = sqliteCore.sqliteTable(
|
|
|
210
221
|
amount: sqliteCore.real("amount").notNull(),
|
|
211
222
|
paymentType: sqliteCore.text("payment_type", { enum: PAYMENT_TYPES }).$type().notNull(),
|
|
212
223
|
currency: sqliteCore.text("currency").$type().notNull(),
|
|
213
|
-
status: sqliteCore.text("status", { enum:
|
|
224
|
+
status: sqliteCore.text("status", { enum: PAYMENT_REQUEST_STATUSES }).$type().notNull(),
|
|
214
225
|
statusReason: sqliteCore.text("status_reason"),
|
|
215
226
|
authorizationUrl: sqliteCore.text("authorization_url"),
|
|
216
227
|
initiatedAt: sqliteCore.integer("initiated_at", { mode: "timestamp_ms" }),
|
|
@@ -261,6 +272,7 @@ const paymentRequestRelations = relations.relations(paymentRequest, ({ one }) =>
|
|
|
261
272
|
}));
|
|
262
273
|
|
|
263
274
|
exports.ACCOUNT_STATUSES = ACCOUNT_STATUSES;
|
|
275
|
+
exports.BATCH_MODES = BATCH_MODES;
|
|
264
276
|
exports.BATCH_STATUSES = BATCH_STATUSES;
|
|
265
277
|
exports.CHARGE_BEARERS = CHARGE_BEARERS;
|
|
266
278
|
exports.CONNECTOR_KEYS = CONNECTOR_KEYS;
|
|
@@ -268,6 +280,7 @@ exports.COUNTRY_CODES = COUNTRY_CODES;
|
|
|
268
280
|
exports.CREDENTIALS_TYPES = CREDENTIALS_TYPES;
|
|
269
281
|
exports.INSTRUCTION_PRIORITIES = INSTRUCTION_PRIORITIES;
|
|
270
282
|
exports.PAYMENT_DIRECTIONS = PAYMENT_DIRECTIONS;
|
|
283
|
+
exports.PAYMENT_REQUEST_STATUSES = PAYMENT_REQUEST_STATUSES;
|
|
271
284
|
exports.PAYMENT_STATUSES = PAYMENT_STATUSES;
|
|
272
285
|
exports.PAYMENT_TYPES = PAYMENT_TYPES;
|
|
273
286
|
exports.TOKEN_TYPES = TOKEN_TYPES;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { d as CurrencyCode,
|
|
1
|
+
import { d as CurrencyCode, O as BankCode, $ as CountryCode } from './bank.Cj2Goq7s.mjs';
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
|
|
4
4
|
type ReferenceType = `${'VS' | 'SS' | 'KS'}:${number}`;
|
|
@@ -210,18 +210,6 @@ type FinbricksAccountTransactionsResponse = {
|
|
|
210
210
|
transactions: FinbricksTransaction[];
|
|
211
211
|
};
|
|
212
212
|
|
|
213
|
-
/**
|
|
214
|
-
* @deprecated Use IncomingPayment from './payment-lifecycle' instead
|
|
215
|
-
* This type is kept for backward compatibility during migration
|
|
216
|
-
*/
|
|
217
|
-
|
|
218
|
-
/**
|
|
219
|
-
* Message pushed to PAYMENTS_READY_TO_BATCH_QUEUE after payment_request is created in DB
|
|
220
|
-
*/
|
|
221
|
-
type PaymentQueueMessage = {
|
|
222
|
-
paymentId: string;
|
|
223
|
-
};
|
|
224
|
-
|
|
225
213
|
declare const sendPaymentInputSchema: z.ZodObject<{
|
|
226
214
|
correlationId: z.ZodString;
|
|
227
215
|
refId: z.ZodOptional<z.ZodString>;
|
|
@@ -996,7 +984,8 @@ declare const sendPaymentInputSchema: z.ZodObject<{
|
|
|
996
984
|
interface SendPaymentInput extends z.infer<typeof sendPaymentInputSchema> {
|
|
997
985
|
}
|
|
998
986
|
type SendPaymentOutput = {
|
|
999
|
-
|
|
987
|
+
paymentRequestId: string;
|
|
988
|
+
authorizationUrl: string;
|
|
1000
989
|
};
|
|
1001
990
|
|
|
1002
991
|
declare const sendPaymentSyncInputSchema: z.ZodObject<{
|
|
@@ -1777,4 +1766,4 @@ type SendPaymentSyncOutput = {
|
|
|
1777
1766
|
authorizationUrl: string;
|
|
1778
1767
|
};
|
|
1779
1768
|
|
|
1780
|
-
export type { FinbricksSupportedBanksResponse as F,
|
|
1769
|
+
export type { FinbricksSupportedBanksResponse as F, ReferenceType as R, SendPaymentInput as S, SendPaymentOutput as a, SendPaymentSyncInput as b, SendPaymentSyncOutput as c, FinbricksAccount as d, FinbricksAccountTransactionsResponse as e, FinbricksAccountsListResponse as f, FinbricksAuthTokenResponse as g, FinbricksBatchResponse as h, FinbricksConnectAccountResponse as i, FinbricksPaymentResponse as j, FinbricksSupportedBank as k };
|
|
@@ -3,11 +3,8 @@
|
|
|
3
3
|
function hasPaymentAccountAssigned(payment) {
|
|
4
4
|
return "accountId" in payment && "connectorKey" in payment && payment.accountId !== void 0 && payment.connectorKey !== void 0;
|
|
5
5
|
}
|
|
6
|
-
function isPaymentPrepared(payment) {
|
|
7
|
-
return payment.status === "PREPARED";
|
|
8
|
-
}
|
|
9
6
|
function isPaymentCompleted(payment) {
|
|
10
|
-
return (payment.status === "COMPLETED" || payment.status === "
|
|
7
|
+
return (payment.status === "COMPLETED" || payment.status === "BOOKED" || payment.status === "SETTLED" || payment.status === "REJECTED" || payment.status === "CLOSED") && "bankRefId" in payment && typeof payment.bankRefId === "string";
|
|
11
8
|
}
|
|
12
9
|
|
|
13
10
|
function isBatchInitiated(batch) {
|
|
@@ -16,29 +13,24 @@ function isBatchInitiated(batch) {
|
|
|
16
13
|
function isBatchReadyToSign(batch) {
|
|
17
14
|
return "status" in batch && batch.status === "READY_TO_SIGN";
|
|
18
15
|
}
|
|
19
|
-
function
|
|
20
|
-
return "status" in batch && batch.status === "
|
|
16
|
+
function isBatchAuthorized(batch) {
|
|
17
|
+
return "status" in batch && batch.status === "AUTHORIZED";
|
|
21
18
|
}
|
|
22
19
|
function isBatchProcessing(batch) {
|
|
23
20
|
return "status" in batch && batch.status === "PROCESSING";
|
|
24
21
|
}
|
|
25
22
|
function isBatchCompleted(batch) {
|
|
26
|
-
return "status" in batch && (batch.status === "COMPLETED" || batch.status === "FAILED"
|
|
27
|
-
}
|
|
28
|
-
function isBatchOpen(batch) {
|
|
29
|
-
return "status" in batch && batch.status === "OPEN";
|
|
23
|
+
return "status" in batch && (batch.status === "COMPLETED" || batch.status === "FAILED");
|
|
30
24
|
}
|
|
31
25
|
function isBatchFailed(batch) {
|
|
32
26
|
return "status" in batch && batch.status === "FAILED";
|
|
33
27
|
}
|
|
34
28
|
|
|
35
29
|
exports.hasPaymentAccountAssigned = hasPaymentAccountAssigned;
|
|
30
|
+
exports.isBatchAuthorized = isBatchAuthorized;
|
|
36
31
|
exports.isBatchCompleted = isBatchCompleted;
|
|
37
32
|
exports.isBatchFailed = isBatchFailed;
|
|
38
33
|
exports.isBatchInitiated = isBatchInitiated;
|
|
39
|
-
exports.isBatchOpen = isBatchOpen;
|
|
40
34
|
exports.isBatchProcessing = isBatchProcessing;
|
|
41
35
|
exports.isBatchReadyToSign = isBatchReadyToSign;
|
|
42
|
-
exports.isBatchSigned = isBatchSigned;
|
|
43
36
|
exports.isPaymentCompleted = isPaymentCompleted;
|
|
44
|
-
exports.isPaymentPrepared = isPaymentPrepared;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { q as account, r as accountCredentials, s as batch, t as ott, u as payment, v as paymentRelations, w as paymentRequest, x as paymentRequestRelations } from './bank.CXBeULUL.mjs';
|
|
2
2
|
|
|
3
3
|
const schema = {
|
|
4
4
|
__proto__: null,
|