@develit-services/bank 0.0.16 → 0.0.18
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 +2 -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 +102 -40
- package/dist/export/worker.d.cts +27 -12
- package/dist/export/worker.d.mts +27 -12
- package/dist/export/worker.d.ts +27 -12
- package/dist/export/worker.mjs +102 -40
- package/dist/export/wrangler.cjs +1 -1
- package/dist/export/wrangler.d.cts +2 -1
- package/dist/export/wrangler.d.mts +2 -1
- package/dist/export/wrangler.d.ts +2 -1
- package/dist/export/wrangler.mjs +1 -1
- package/dist/shared/{bank.BoVUuQ1D.d.mts → bank.BkLncGmL.d.ts} +18 -10
- package/dist/shared/{bank.BT_Yf43j.d.cts → bank.BuNG2S8h.d.cts} +182 -7
- package/dist/shared/{bank.BT_Yf43j.d.mts → bank.BuNG2S8h.d.mts} +182 -7
- package/dist/shared/{bank.BT_Yf43j.d.ts → bank.BuNG2S8h.d.ts} +182 -7
- package/dist/shared/{bank.BeH-ZCJJ.mjs → bank.C9jAvwna.mjs} +24 -1
- package/dist/shared/{bank.DZS4d3MJ.mjs → bank.CNpjRxvL.mjs} +103 -59
- package/dist/shared/{bank.Ce58djRL.cjs → bank.DQn99N-C.cjs} +103 -59
- package/dist/shared/{bank.BwleO_ON.d.cts → bank.DWVLVMDa.d.mts} +18 -10
- package/dist/shared/{bank.DlquvmPs.d.ts → bank.DmypH3Au.d.cts} +18 -10
- package/dist/shared/{bank.CrAQe4PH.cjs → bank.P9gDUycr.cjs} +26 -0
- package/dist/types.cjs +6 -4
- package/dist/types.d.cts +47 -15
- package/dist/types.d.mts +47 -15
- package/dist/types.d.ts +47 -15
- package/dist/types.mjs +4 -4
- package/package.json +1 -1
package/dist/export/worker.mjs
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { uuidv4, useResult, createInternalError, develitWorker, first, RPCResponse, action, service } from '@develit-io/backend-sdk';
|
|
2
|
-
import { P as PAYMENT_TYPES, t as tables, F as FinbricksConnector, M as MockConnector, a as MockCobsConnector, E as ErsteConnector, g as getPaymentDirection } from '../shared/bank.
|
|
2
|
+
import { P as PAYMENT_TYPES, t as tables, F as FinbricksConnector, M as MockConnector, a as MockCobsConnector, E as ErsteConnector, g as getPaymentDirection } from '../shared/bank.CNpjRxvL.mjs';
|
|
3
3
|
import { WorkerEntrypoint } from 'cloudflare:workers';
|
|
4
4
|
import { drizzle } from 'drizzle-orm/d1';
|
|
5
5
|
import { z } from 'zod';
|
|
6
6
|
import { CURRENCY_CODES } from '@develit-io/general-codes';
|
|
7
|
+
import { C as CONNECTOR_KEYS } from '../shared/bank.C9jAvwna.mjs';
|
|
7
8
|
import 'jose';
|
|
8
9
|
import { eq, and, inArray, desc, sql } from 'drizzle-orm';
|
|
9
10
|
import superjson from 'superjson';
|
|
10
|
-
import '
|
|
11
|
+
import 'date-fns';
|
|
11
12
|
import 'drizzle-orm/sqlite-core';
|
|
12
13
|
import 'drizzle-orm/relations';
|
|
13
|
-
import 'date-fns';
|
|
14
14
|
|
|
15
15
|
const sendPaymentInputSchema = z.object({
|
|
16
16
|
refId: z.string(),
|
|
@@ -29,8 +29,13 @@ const sendPaymentInputSchema = z.object({
|
|
|
29
29
|
debtorIban: z.string()
|
|
30
30
|
});
|
|
31
31
|
|
|
32
|
-
const
|
|
33
|
-
|
|
32
|
+
const getAuthUriInputSchema = z.object({
|
|
33
|
+
accountId: z.string()
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
const authorizeAccountInputSchema = z.object({
|
|
37
|
+
ott: z.string(),
|
|
38
|
+
urlParams: z.string()
|
|
34
39
|
});
|
|
35
40
|
|
|
36
41
|
const simulateDepositInputSchema = z.object({
|
|
@@ -52,7 +57,7 @@ const setLastSyncAtInputSchema = z.object({
|
|
|
52
57
|
});
|
|
53
58
|
|
|
54
59
|
const initiateConnectorInputSchema = z.object({
|
|
55
|
-
connectorKey: z.
|
|
60
|
+
connectorKey: z.enum(CONNECTOR_KEYS)
|
|
56
61
|
});
|
|
57
62
|
|
|
58
63
|
const getBatchesInputSchema = z.object({
|
|
@@ -89,6 +94,24 @@ const upsertBatchCommand = (db, { batch }) => {
|
|
|
89
94
|
};
|
|
90
95
|
};
|
|
91
96
|
|
|
97
|
+
const createOneTimeTokenCommand = (db, {
|
|
98
|
+
ott,
|
|
99
|
+
account,
|
|
100
|
+
tokenType
|
|
101
|
+
}) => {
|
|
102
|
+
const id = uuidv4();
|
|
103
|
+
const expiresAt = new Date(Date.now() + 1e3 * 60 * 60) ;
|
|
104
|
+
const command = db.insert(tables.ott).values({
|
|
105
|
+
id,
|
|
106
|
+
oneTimeToken: ott,
|
|
107
|
+
tokenType,
|
|
108
|
+
accountId: account.id,
|
|
109
|
+
connectorKey: account.connectorKey,
|
|
110
|
+
expiresAt
|
|
111
|
+
}).returning();
|
|
112
|
+
return { id, command };
|
|
113
|
+
};
|
|
114
|
+
|
|
92
115
|
const getPaymentByRefIdQuery = async (db, { refId }) => {
|
|
93
116
|
const payment = await db.select().from(tables.payment).where(eq(tables.payment.refId, refId)).limit(1).get();
|
|
94
117
|
return payment;
|
|
@@ -112,6 +135,10 @@ const getPaymentsByBankRefIdsQuery = async (db, { ids }) => {
|
|
|
112
135
|
return await db.select().from(tables.payment).where(inArray(tables.payment.bankRefId, ids));
|
|
113
136
|
};
|
|
114
137
|
|
|
138
|
+
const getOttQuery = async (db, { ott }) => {
|
|
139
|
+
return await db.select().from(tables.ott).where(eq(tables.ott.oneTimeToken, ott)).get();
|
|
140
|
+
};
|
|
141
|
+
|
|
115
142
|
class CreditasConnector extends FinbricksConnector {
|
|
116
143
|
constructor(config) {
|
|
117
144
|
super("CREDITAS", config);
|
|
@@ -140,34 +167,43 @@ const initiateConnector = (bank, env) => {
|
|
|
140
167
|
REDIRECT_URI: env.ERSTE_REDIRECT_URI,
|
|
141
168
|
AUTH_URI: env.ERSTE_AUTH_URI,
|
|
142
169
|
PAYMENTS_URI: env.ERSTE_PAYMENTS_URI,
|
|
143
|
-
ACCOUNTS_URI: env.ERSTE_ACCOUNTS_URI
|
|
170
|
+
ACCOUNTS_URI: env.ERSTE_ACCOUNTS_URI,
|
|
171
|
+
KV: env.BANK_KV
|
|
144
172
|
});
|
|
145
173
|
case "CREDITAS":
|
|
146
174
|
return new CreditasConnector({
|
|
147
175
|
BASE_URI: env.FINBRICKS_BASE_URI,
|
|
148
176
|
MERCHANT_ID: env.FINBRICKS_MERCHANT_ID,
|
|
149
|
-
PRIVATE_KEY_PEM: env.FINBRICKS_PRIVATE_KEY_PEM
|
|
177
|
+
PRIVATE_KEY_PEM: env.FINBRICKS_PRIVATE_KEY_PEM,
|
|
178
|
+
REDIRECT_URI: env.ERSTE_REDIRECT_URI,
|
|
179
|
+
KV: env.BANK_KV
|
|
150
180
|
});
|
|
151
181
|
case "MOCK_COBS":
|
|
152
182
|
return new MockCobsConnector({
|
|
153
183
|
BASE_URI: env.FINBRICKS_BASE_URI,
|
|
154
184
|
MERCHANT_ID: env.FINBRICKS_MERCHANT_ID,
|
|
155
|
-
PRIVATE_KEY_PEM: env.FINBRICKS_PRIVATE_KEY_PEM
|
|
185
|
+
PRIVATE_KEY_PEM: env.FINBRICKS_PRIVATE_KEY_PEM,
|
|
186
|
+
REDIRECT_URI: env.ERSTE_REDIRECT_URI,
|
|
187
|
+
KV: env.BANK_KV
|
|
156
188
|
});
|
|
157
189
|
case "FIO":
|
|
158
190
|
return new FioConnector({
|
|
159
191
|
BASE_URI: env.FINBRICKS_BASE_URI,
|
|
160
192
|
MERCHANT_ID: env.FINBRICKS_MERCHANT_ID,
|
|
161
|
-
PRIVATE_KEY_PEM: env.FINBRICKS_PRIVATE_KEY_PEM
|
|
193
|
+
PRIVATE_KEY_PEM: env.FINBRICKS_PRIVATE_KEY_PEM,
|
|
194
|
+
REDIRECT_URI: env.ERSTE_REDIRECT_URI,
|
|
195
|
+
KV: env.BANK_KV
|
|
162
196
|
});
|
|
163
197
|
case "MONETA":
|
|
164
198
|
return new MonetaConnector({
|
|
165
199
|
BASE_URI: env.FINBRICKS_BASE_URI,
|
|
166
200
|
MERCHANT_ID: env.FINBRICKS_MERCHANT_ID,
|
|
167
|
-
PRIVATE_KEY_PEM: env.FINBRICKS_PRIVATE_KEY_PEM
|
|
201
|
+
PRIVATE_KEY_PEM: env.FINBRICKS_PRIVATE_KEY_PEM,
|
|
202
|
+
REDIRECT_URI: env.ERSTE_REDIRECT_URI,
|
|
203
|
+
KV: env.BANK_KV
|
|
168
204
|
});
|
|
169
205
|
default:
|
|
170
|
-
return new MockConnector();
|
|
206
|
+
return new MockConnector(env.BANK_KV);
|
|
171
207
|
}
|
|
172
208
|
};
|
|
173
209
|
|
|
@@ -320,18 +356,10 @@ let BankServiceBase = class extends develitWorker(WorkerEntrypoint) {
|
|
|
320
356
|
{ data: input, schema: initiateConnectorInputSchema },
|
|
321
357
|
{ successMessage: "Bank connector initiated successfully" },
|
|
322
358
|
async ({ connectorKey }) => {
|
|
323
|
-
this.bankConnector = initiateConnector(
|
|
324
|
-
|
|
325
|
-
this.env
|
|
326
|
-
);
|
|
327
|
-
await this.env.BANK_KV.put(
|
|
328
|
-
`${connectorKey}:token`,
|
|
329
|
-
"d32a83cf-d352-41f3-96d7-4d2961336ddc"
|
|
330
|
-
//hard-coded finbricks clientId (valid til 03/26)
|
|
331
|
-
);
|
|
332
|
-
const token = await this.env.BANK_KV.get(`${connectorKey}:token`);
|
|
359
|
+
this.bankConnector = initiateConnector(connectorKey, this.env);
|
|
360
|
+
const token = await this.env.BANK_KV.get(`${connectorKey}:auth`);
|
|
333
361
|
if (!token) throw createInternalError("Provider not authorized");
|
|
334
|
-
await this.bankConnector.authenticate(
|
|
362
|
+
await this.bankConnector.authenticate();
|
|
335
363
|
}
|
|
336
364
|
);
|
|
337
365
|
}
|
|
@@ -547,27 +575,61 @@ let BankServiceBase = class extends develitWorker(WorkerEntrypoint) {
|
|
|
547
575
|
}
|
|
548
576
|
);
|
|
549
577
|
}
|
|
550
|
-
async
|
|
578
|
+
async getAuthUri(input) {
|
|
551
579
|
return this.handleAction(
|
|
552
|
-
|
|
553
|
-
{ successMessage: "
|
|
554
|
-
async () => {
|
|
555
|
-
|
|
556
|
-
|
|
580
|
+
{ data: input, schema: getAuthUriInputSchema },
|
|
581
|
+
{ successMessage: "Auth URI obtained." },
|
|
582
|
+
async ({ accountId }) => {
|
|
583
|
+
const account = this.accounts.find((acc) => acc.id === accountId);
|
|
584
|
+
if (!account)
|
|
585
|
+
throw createInternalError(null, {
|
|
586
|
+
message: "Account not found",
|
|
587
|
+
code: "ACCOUNT_NOT_FOUND",
|
|
588
|
+
status: 404
|
|
589
|
+
});
|
|
590
|
+
this.bankConnector = initiateConnector(account.connectorKey, this.env);
|
|
591
|
+
const ott = uuidv4();
|
|
592
|
+
const { command: oneTimeTokenCommand } = createOneTimeTokenCommand(
|
|
593
|
+
this.db,
|
|
594
|
+
{
|
|
595
|
+
ott,
|
|
596
|
+
account,
|
|
597
|
+
tokenType: "ACCOUNT_AUTHORIZATION"
|
|
598
|
+
}
|
|
599
|
+
);
|
|
600
|
+
await oneTimeTokenCommand.execute();
|
|
601
|
+
const uri = await this.bankConnector.getAuthUri({ accountId, ott });
|
|
557
602
|
return { uri };
|
|
558
603
|
}
|
|
559
604
|
);
|
|
560
605
|
}
|
|
561
|
-
async
|
|
606
|
+
async authorizeAccount(input) {
|
|
562
607
|
return this.handleAction(
|
|
563
|
-
{ data: input, schema:
|
|
608
|
+
{ data: input, schema: authorizeAccountInputSchema },
|
|
564
609
|
{ successMessage: "Erste code saved." },
|
|
565
|
-
async ({
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
610
|
+
async ({ ott, urlParams }) => {
|
|
611
|
+
const ottRow = await getOttQuery(this.db, {
|
|
612
|
+
ott
|
|
613
|
+
});
|
|
614
|
+
if (!ottRow) {
|
|
615
|
+
throw createInternalError(null, {
|
|
616
|
+
message: "One-time token not found",
|
|
617
|
+
code: "NOT_FOUND",
|
|
618
|
+
status: 404
|
|
619
|
+
});
|
|
620
|
+
}
|
|
621
|
+
if (ottRow.expiresAt.getTime() < Date.now()) {
|
|
622
|
+
throw createInternalError(null, {
|
|
623
|
+
message: "One time token has expired",
|
|
624
|
+
code: "INVALID_GRANT",
|
|
625
|
+
status: 400
|
|
626
|
+
});
|
|
627
|
+
}
|
|
628
|
+
this.bankConnector = initiateConnector(ottRow.connectorKey, this.env);
|
|
629
|
+
const authorized = await this.bankConnector.authorizeAccount({
|
|
630
|
+
urlParams
|
|
569
631
|
});
|
|
570
|
-
|
|
632
|
+
return { authorized };
|
|
571
633
|
}
|
|
572
634
|
);
|
|
573
635
|
}
|
|
@@ -778,11 +840,11 @@ __decorateClass([
|
|
|
778
840
|
action("queue-handler")
|
|
779
841
|
], BankServiceBase.prototype, "queue", 1);
|
|
780
842
|
__decorateClass([
|
|
781
|
-
action("get-
|
|
782
|
-
], BankServiceBase.prototype, "
|
|
843
|
+
action("get-auth-uri")
|
|
844
|
+
], BankServiceBase.prototype, "getAuthUri", 1);
|
|
783
845
|
__decorateClass([
|
|
784
|
-
action("
|
|
785
|
-
], BankServiceBase.prototype, "
|
|
846
|
+
action("authorize-account")
|
|
847
|
+
], BankServiceBase.prototype, "authorizeAccount", 1);
|
|
786
848
|
__decorateClass([
|
|
787
849
|
action("save-or-update-payments")
|
|
788
850
|
], BankServiceBase.prototype, "saveOrUpdatePayments", 1);
|
package/dist/export/wrangler.cjs
CHANGED
|
@@ -18,7 +18,7 @@ function defineBankServiceWrangler(config) {
|
|
|
18
18
|
// Variables
|
|
19
19
|
...envs.local.vars,
|
|
20
20
|
ENVIRONMENT: "localhost",
|
|
21
|
-
|
|
21
|
+
REDIRECT_URI: "http://localhost:8080/api/v1/bank/authorize-account",
|
|
22
22
|
ERSTE_AUTH_URI: "https://webapi.developers.erstegroup.com/api/csas/sandbox/v1/sandbox-idp",
|
|
23
23
|
ERSTE_PAYMENTS_URI: "https://webapi.developers.erstegroup.com/api/csas/public/sandbox/v1/payments",
|
|
24
24
|
ERSTE_ACCOUNTS_URI: "https://webapi.developers.erstegroup.com/api/csas/public/sandbox/v3/accounts",
|
|
@@ -3,7 +3,7 @@ import { B as BankServiceWranglerConfig } from '../shared/bank.CJFy17-g.cjs';
|
|
|
3
3
|
declare function defineBankServiceWrangler(config: BankServiceWranglerConfig): {
|
|
4
4
|
vars: {
|
|
5
5
|
ENVIRONMENT: string;
|
|
6
|
-
|
|
6
|
+
REDIRECT_URI: string;
|
|
7
7
|
ERSTE_AUTH_URI: string;
|
|
8
8
|
ERSTE_PAYMENTS_URI: string;
|
|
9
9
|
ERSTE_ACCOUNTS_URI: string;
|
|
@@ -12,6 +12,7 @@ declare function defineBankServiceWrangler(config: BankServiceWranglerConfig): {
|
|
|
12
12
|
FINBRICKS_MERCHANT_ID: string;
|
|
13
13
|
CRON_BATCHES_PROCESSING: string;
|
|
14
14
|
CRON_PAYMENTS_PROCESSING: string;
|
|
15
|
+
ERSTE_REDIRECT_URI: string;
|
|
15
16
|
FINBRICKS_PRIVATE_KEY_PEM: string;
|
|
16
17
|
ERSTE_API_KEY: string;
|
|
17
18
|
ERSTE_CLIENT_SECRET: string;
|
|
@@ -3,7 +3,7 @@ import { B as BankServiceWranglerConfig } from '../shared/bank.CJFy17-g.mjs';
|
|
|
3
3
|
declare function defineBankServiceWrangler(config: BankServiceWranglerConfig): {
|
|
4
4
|
vars: {
|
|
5
5
|
ENVIRONMENT: string;
|
|
6
|
-
|
|
6
|
+
REDIRECT_URI: string;
|
|
7
7
|
ERSTE_AUTH_URI: string;
|
|
8
8
|
ERSTE_PAYMENTS_URI: string;
|
|
9
9
|
ERSTE_ACCOUNTS_URI: string;
|
|
@@ -12,6 +12,7 @@ declare function defineBankServiceWrangler(config: BankServiceWranglerConfig): {
|
|
|
12
12
|
FINBRICKS_MERCHANT_ID: string;
|
|
13
13
|
CRON_BATCHES_PROCESSING: string;
|
|
14
14
|
CRON_PAYMENTS_PROCESSING: string;
|
|
15
|
+
ERSTE_REDIRECT_URI: string;
|
|
15
16
|
FINBRICKS_PRIVATE_KEY_PEM: string;
|
|
16
17
|
ERSTE_API_KEY: string;
|
|
17
18
|
ERSTE_CLIENT_SECRET: string;
|
|
@@ -3,7 +3,7 @@ import { B as BankServiceWranglerConfig } from '../shared/bank.CJFy17-g.js';
|
|
|
3
3
|
declare function defineBankServiceWrangler(config: BankServiceWranglerConfig): {
|
|
4
4
|
vars: {
|
|
5
5
|
ENVIRONMENT: string;
|
|
6
|
-
|
|
6
|
+
REDIRECT_URI: string;
|
|
7
7
|
ERSTE_AUTH_URI: string;
|
|
8
8
|
ERSTE_PAYMENTS_URI: string;
|
|
9
9
|
ERSTE_ACCOUNTS_URI: string;
|
|
@@ -12,6 +12,7 @@ declare function defineBankServiceWrangler(config: BankServiceWranglerConfig): {
|
|
|
12
12
|
FINBRICKS_MERCHANT_ID: string;
|
|
13
13
|
CRON_BATCHES_PROCESSING: string;
|
|
14
14
|
CRON_PAYMENTS_PROCESSING: string;
|
|
15
|
+
ERSTE_REDIRECT_URI: string;
|
|
15
16
|
FINBRICKS_PRIVATE_KEY_PEM: string;
|
|
16
17
|
ERSTE_API_KEY: string;
|
|
17
18
|
ERSTE_CLIENT_SECRET: string;
|
package/dist/export/wrangler.mjs
CHANGED
|
@@ -16,7 +16,7 @@ function defineBankServiceWrangler(config) {
|
|
|
16
16
|
// Variables
|
|
17
17
|
...envs.local.vars,
|
|
18
18
|
ENVIRONMENT: "localhost",
|
|
19
|
-
|
|
19
|
+
REDIRECT_URI: "http://localhost:8080/api/v1/bank/authorize-account",
|
|
20
20
|
ERSTE_AUTH_URI: "https://webapi.developers.erstegroup.com/api/csas/sandbox/v1/sandbox-idp",
|
|
21
21
|
ERSTE_PAYMENTS_URI: "https://webapi.developers.erstegroup.com/api/csas/public/sandbox/v1/payments",
|
|
22
22
|
ERSTE_ACCOUNTS_URI: "https://webapi.developers.erstegroup.com/api/csas/public/sandbox/v3/accounts",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Environment } from '@develit-io/backend-sdk';
|
|
2
2
|
import { BANK_CODES, CURRENCY_CODES, CODES } from '@develit-io/general-codes';
|
|
3
|
-
import { a as PaymentInsertType, t as tables } from './bank.
|
|
3
|
+
import { a as PaymentInsertType, t as tables } from './bank.BuNG2S8h.js';
|
|
4
4
|
import { DrizzleD1Database } from 'drizzle-orm/d1';
|
|
5
5
|
|
|
6
6
|
declare const PAYMENT_TYPES: readonly ["SEPA", "SWIFT", "IFSC", "DOMESTIC"];
|
|
@@ -28,7 +28,10 @@ type CountryCode = (typeof COUNTRY_CODES)[number];
|
|
|
28
28
|
interface BankAccountWithLastSync extends ConfigBankAccount {
|
|
29
29
|
lastSyncAt: SyncLog;
|
|
30
30
|
}
|
|
31
|
-
|
|
31
|
+
declare const CONNECTOR_KEYS: readonly ["ERSTE", "FINBRICKS", "MOCK", "CREDITAS", "MOCK_COBS", "FIO", "MONETA"];
|
|
32
|
+
type ConnectorKey = (typeof CONNECTOR_KEYS)[number];
|
|
33
|
+
declare const TOKEN_TYPES: readonly ["ACCOUNT_AUTHORIZATION"];
|
|
34
|
+
type TokenType = (typeof TOKEN_TYPES)[number];
|
|
32
35
|
interface ConfigBankAccount {
|
|
33
36
|
connectorKey: ConnectorKey;
|
|
34
37
|
id: string;
|
|
@@ -77,14 +80,19 @@ type AuthInput = {
|
|
|
77
80
|
token: string;
|
|
78
81
|
refreshToken?: string;
|
|
79
82
|
};
|
|
80
|
-
type AccountConnection = {
|
|
81
|
-
clientId: string;
|
|
82
|
-
redirectUrl: string;
|
|
83
|
-
};
|
|
84
83
|
declare abstract class IBankConnector {
|
|
85
84
|
abstract connectorKey: ConnectorKey;
|
|
86
|
-
abstract
|
|
87
|
-
abstract
|
|
85
|
+
abstract kv: KVNamespace;
|
|
86
|
+
abstract authenticate(tokens?: {
|
|
87
|
+
refreshToken?: string;
|
|
88
|
+
}): Promise<string>;
|
|
89
|
+
abstract getAuthUri({ accountId, ott, }: {
|
|
90
|
+
accountId: string;
|
|
91
|
+
ott: string;
|
|
92
|
+
}): Promise<string>;
|
|
93
|
+
abstract authorizeAccount({ urlParams, }: {
|
|
94
|
+
urlParams: string;
|
|
95
|
+
}): Promise<boolean>;
|
|
88
96
|
abstract listAccounts(): Promise<[]>;
|
|
89
97
|
abstract preparePayment(payment: IncomingPaymentMessage): Promise<PaymentPreparedInsertType>;
|
|
90
98
|
abstract initiateBatchFromPayments({ payments, }: {
|
|
@@ -110,5 +118,5 @@ interface IncomingPaymentMessage extends PaymentInsertType {
|
|
|
110
118
|
interface OutgoingPaymentMessage extends PaymentInsertType {
|
|
111
119
|
}
|
|
112
120
|
|
|
113
|
-
export { IBankConnector as I, BATCH_STATUSES as
|
|
114
|
-
export type {
|
|
121
|
+
export { IBankConnector as I, TOKEN_TYPES as T, BATCH_STATUSES as n, PAYMENT_TYPES as o, PAYMENT_STATUSES as r, PAYMENT_DIRECTIONS as s, COUNTRY_CODES as u, CONNECTOR_KEYS as v };
|
|
122
|
+
export type { AuthInput as A, BankAccountWithLastSync as B, ConfigEnvironmentBankAccount as C, OutgoingPaymentMessage as O, PaymentPreparedInsertType as P, SyncLog as S, ConfigBankAccount as a, ConnectorKey as b, CurrencyCode as c, BankCode as d, CountryCode as e, IncomingPaymentMessage as f, InitiatedBatch as g, InitiatedPayment as h, PaymentStatus as i, BatchStatus as j, BatchMetadata as k, Currency as l, PaymentFailedInsertType as m, paymentInitializedInsertType as p, PaymentType as q, PaymentDirection as t, TokenType as w };
|
|
@@ -82,10 +82,10 @@ declare const paymentInsertTypeZod: z.ZodObject<{
|
|
|
82
82
|
}>;
|
|
83
83
|
status: z.ZodEnum<{
|
|
84
84
|
PREPARED: "PREPARED";
|
|
85
|
-
COMPLETED: "COMPLETED";
|
|
86
|
-
FAILED: "FAILED";
|
|
87
85
|
INITIALIZED: "INITIALIZED";
|
|
86
|
+
FAILED: "FAILED";
|
|
88
87
|
PENDING: "PENDING";
|
|
88
|
+
COMPLETED: "COMPLETED";
|
|
89
89
|
CREATED: "CREATED";
|
|
90
90
|
}>;
|
|
91
91
|
batchId: z.ZodString;
|
|
@@ -165,7 +165,7 @@ declare const batch: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
|
|
|
165
165
|
tableName: "batch";
|
|
166
166
|
dataType: "string";
|
|
167
167
|
columnType: "SQLiteText";
|
|
168
|
-
data: "
|
|
168
|
+
data: "PREPARED" | "FAILED" | "COMPLETED" | "OPEN" | "WAITING_FOR_PROCESSING" | "PROCESSING" | "READY_TO_SIGN";
|
|
169
169
|
driverParam: string;
|
|
170
170
|
notNull: false;
|
|
171
171
|
hasDefault: false;
|
|
@@ -178,7 +178,7 @@ declare const batch: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
|
|
|
178
178
|
generated: undefined;
|
|
179
179
|
}, {}, {
|
|
180
180
|
length: number | undefined;
|
|
181
|
-
$type: "
|
|
181
|
+
$type: "PREPARED" | "FAILED" | "COMPLETED" | "OPEN" | "WAITING_FOR_PROCESSING" | "PROCESSING" | "READY_TO_SIGN";
|
|
182
182
|
}>;
|
|
183
183
|
payments: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
184
184
|
name: "payments";
|
|
@@ -416,7 +416,7 @@ declare const payment: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
|
|
|
416
416
|
tableName: "payment";
|
|
417
417
|
dataType: "string";
|
|
418
418
|
columnType: "SQLiteText";
|
|
419
|
-
data: "PREPARED" | "
|
|
419
|
+
data: "PREPARED" | "INITIALIZED" | "FAILED" | "PENDING" | "COMPLETED" | "CREATED";
|
|
420
420
|
driverParam: string;
|
|
421
421
|
notNull: true;
|
|
422
422
|
hasDefault: false;
|
|
@@ -429,7 +429,7 @@ declare const payment: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
|
|
|
429
429
|
generated: undefined;
|
|
430
430
|
}, {}, {
|
|
431
431
|
length: number | undefined;
|
|
432
|
-
$type: "PREPARED" | "
|
|
432
|
+
$type: "PREPARED" | "INITIALIZED" | "FAILED" | "PENDING" | "COMPLETED" | "CREATED";
|
|
433
433
|
}>;
|
|
434
434
|
statusReason: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
435
435
|
name: "status_reason";
|
|
@@ -770,12 +770,187 @@ declare const paymentRelations: drizzle_orm.Relations<"payment", {
|
|
|
770
770
|
batch: drizzle_orm.One<"batch", false>;
|
|
771
771
|
}>;
|
|
772
772
|
|
|
773
|
+
declare const ott: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
|
|
774
|
+
name: "ott";
|
|
775
|
+
schema: undefined;
|
|
776
|
+
columns: {
|
|
777
|
+
oneTimeToken: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
778
|
+
name: "one_time_token";
|
|
779
|
+
tableName: "ott";
|
|
780
|
+
dataType: "string";
|
|
781
|
+
columnType: "SQLiteText";
|
|
782
|
+
data: string;
|
|
783
|
+
driverParam: string;
|
|
784
|
+
notNull: true;
|
|
785
|
+
hasDefault: false;
|
|
786
|
+
isPrimaryKey: false;
|
|
787
|
+
isAutoincrement: false;
|
|
788
|
+
hasRuntimeDefault: false;
|
|
789
|
+
enumValues: [string, ...string[]];
|
|
790
|
+
baseColumn: never;
|
|
791
|
+
identity: undefined;
|
|
792
|
+
generated: undefined;
|
|
793
|
+
}, {}, {
|
|
794
|
+
length: number | undefined;
|
|
795
|
+
}>;
|
|
796
|
+
tokenType: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
797
|
+
name: "token_type";
|
|
798
|
+
tableName: "ott";
|
|
799
|
+
dataType: "string";
|
|
800
|
+
columnType: "SQLiteText";
|
|
801
|
+
data: "ACCOUNT_AUTHORIZATION";
|
|
802
|
+
driverParam: string;
|
|
803
|
+
notNull: true;
|
|
804
|
+
hasDefault: false;
|
|
805
|
+
isPrimaryKey: false;
|
|
806
|
+
isAutoincrement: false;
|
|
807
|
+
hasRuntimeDefault: false;
|
|
808
|
+
enumValues: ["ACCOUNT_AUTHORIZATION"];
|
|
809
|
+
baseColumn: never;
|
|
810
|
+
identity: undefined;
|
|
811
|
+
generated: undefined;
|
|
812
|
+
}, {}, {
|
|
813
|
+
length: number | undefined;
|
|
814
|
+
$type: "ACCOUNT_AUTHORIZATION";
|
|
815
|
+
}>;
|
|
816
|
+
connectorKey: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
817
|
+
name: "connector_key";
|
|
818
|
+
tableName: "ott";
|
|
819
|
+
dataType: "string";
|
|
820
|
+
columnType: "SQLiteText";
|
|
821
|
+
data: "ERSTE" | "FINBRICKS" | "MOCK" | "CREDITAS" | "MOCK_COBS" | "FIO" | "MONETA";
|
|
822
|
+
driverParam: string;
|
|
823
|
+
notNull: true;
|
|
824
|
+
hasDefault: false;
|
|
825
|
+
isPrimaryKey: false;
|
|
826
|
+
isAutoincrement: false;
|
|
827
|
+
hasRuntimeDefault: false;
|
|
828
|
+
enumValues: ["ERSTE", "FINBRICKS", "MOCK", "CREDITAS", "MOCK_COBS", "FIO", "MONETA"];
|
|
829
|
+
baseColumn: never;
|
|
830
|
+
identity: undefined;
|
|
831
|
+
generated: undefined;
|
|
832
|
+
}, {}, {
|
|
833
|
+
length: number | undefined;
|
|
834
|
+
$type: "ERSTE" | "FINBRICKS" | "MOCK" | "CREDITAS" | "MOCK_COBS" | "FIO" | "MONETA";
|
|
835
|
+
}>;
|
|
836
|
+
accountId: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
837
|
+
name: "account_id";
|
|
838
|
+
tableName: "ott";
|
|
839
|
+
dataType: "string";
|
|
840
|
+
columnType: "SQLiteText";
|
|
841
|
+
data: string;
|
|
842
|
+
driverParam: string;
|
|
843
|
+
notNull: true;
|
|
844
|
+
hasDefault: false;
|
|
845
|
+
isPrimaryKey: false;
|
|
846
|
+
isAutoincrement: false;
|
|
847
|
+
hasRuntimeDefault: false;
|
|
848
|
+
enumValues: [string, ...string[]];
|
|
849
|
+
baseColumn: never;
|
|
850
|
+
identity: undefined;
|
|
851
|
+
generated: undefined;
|
|
852
|
+
}, {}, {
|
|
853
|
+
length: number | undefined;
|
|
854
|
+
}>;
|
|
855
|
+
expiresAt: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
856
|
+
name: "expires_at";
|
|
857
|
+
tableName: "ott";
|
|
858
|
+
dataType: "date";
|
|
859
|
+
columnType: "SQLiteTimestamp";
|
|
860
|
+
data: Date;
|
|
861
|
+
driverParam: number;
|
|
862
|
+
notNull: true;
|
|
863
|
+
hasDefault: false;
|
|
864
|
+
isPrimaryKey: false;
|
|
865
|
+
isAutoincrement: false;
|
|
866
|
+
hasRuntimeDefault: false;
|
|
867
|
+
enumValues: undefined;
|
|
868
|
+
baseColumn: never;
|
|
869
|
+
identity: undefined;
|
|
870
|
+
generated: undefined;
|
|
871
|
+
}, {}, {}>;
|
|
872
|
+
id: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
873
|
+
name: "id";
|
|
874
|
+
tableName: "ott";
|
|
875
|
+
dataType: "string";
|
|
876
|
+
columnType: "SQLiteText";
|
|
877
|
+
data: string;
|
|
878
|
+
driverParam: string;
|
|
879
|
+
notNull: true;
|
|
880
|
+
hasDefault: false;
|
|
881
|
+
isPrimaryKey: true;
|
|
882
|
+
isAutoincrement: false;
|
|
883
|
+
hasRuntimeDefault: false;
|
|
884
|
+
enumValues: [string, ...string[]];
|
|
885
|
+
baseColumn: never;
|
|
886
|
+
identity: undefined;
|
|
887
|
+
generated: undefined;
|
|
888
|
+
}, {}, {
|
|
889
|
+
length: number | undefined;
|
|
890
|
+
}>;
|
|
891
|
+
createdAt: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
892
|
+
name: "created_at";
|
|
893
|
+
tableName: "ott";
|
|
894
|
+
dataType: "date";
|
|
895
|
+
columnType: "SQLiteTimestamp";
|
|
896
|
+
data: Date;
|
|
897
|
+
driverParam: number;
|
|
898
|
+
notNull: false;
|
|
899
|
+
hasDefault: true;
|
|
900
|
+
isPrimaryKey: false;
|
|
901
|
+
isAutoincrement: false;
|
|
902
|
+
hasRuntimeDefault: false;
|
|
903
|
+
enumValues: undefined;
|
|
904
|
+
baseColumn: never;
|
|
905
|
+
identity: undefined;
|
|
906
|
+
generated: undefined;
|
|
907
|
+
}, {}, {}>;
|
|
908
|
+
updatedAt: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
909
|
+
name: "updated_at";
|
|
910
|
+
tableName: "ott";
|
|
911
|
+
dataType: "date";
|
|
912
|
+
columnType: "SQLiteTimestamp";
|
|
913
|
+
data: Date;
|
|
914
|
+
driverParam: number;
|
|
915
|
+
notNull: false;
|
|
916
|
+
hasDefault: true;
|
|
917
|
+
isPrimaryKey: false;
|
|
918
|
+
isAutoincrement: false;
|
|
919
|
+
hasRuntimeDefault: false;
|
|
920
|
+
enumValues: undefined;
|
|
921
|
+
baseColumn: never;
|
|
922
|
+
identity: undefined;
|
|
923
|
+
generated: undefined;
|
|
924
|
+
}, {}, {}>;
|
|
925
|
+
deletedAt: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
926
|
+
name: "deleted_at";
|
|
927
|
+
tableName: "ott";
|
|
928
|
+
dataType: "date";
|
|
929
|
+
columnType: "SQLiteTimestamp";
|
|
930
|
+
data: Date;
|
|
931
|
+
driverParam: number;
|
|
932
|
+
notNull: false;
|
|
933
|
+
hasDefault: true;
|
|
934
|
+
isPrimaryKey: false;
|
|
935
|
+
isAutoincrement: false;
|
|
936
|
+
hasRuntimeDefault: false;
|
|
937
|
+
enumValues: undefined;
|
|
938
|
+
baseColumn: never;
|
|
939
|
+
identity: undefined;
|
|
940
|
+
generated: undefined;
|
|
941
|
+
}, {}, {}>;
|
|
942
|
+
};
|
|
943
|
+
dialect: "sqlite";
|
|
944
|
+
}>;
|
|
945
|
+
|
|
773
946
|
declare const schema_batch: typeof batch;
|
|
947
|
+
declare const schema_ott: typeof ott;
|
|
774
948
|
declare const schema_payment: typeof payment;
|
|
775
949
|
declare const schema_paymentRelations: typeof paymentRelations;
|
|
776
950
|
declare namespace schema {
|
|
777
951
|
export {
|
|
778
952
|
schema_batch as batch,
|
|
953
|
+
schema_ott as ott,
|
|
779
954
|
schema_payment as payment,
|
|
780
955
|
schema_paymentRelations as paymentRelations,
|
|
781
956
|
};
|
|
@@ -783,5 +958,5 @@ declare namespace schema {
|
|
|
783
958
|
|
|
784
959
|
declare const tables: typeof schema;
|
|
785
960
|
|
|
786
|
-
export { batch as c, payment as d, paymentRelations as e, paymentInsertTypeZod as p, tables as t };
|
|
961
|
+
export { batch as c, payment as d, paymentRelations as e, ott as o, paymentInsertTypeZod as p, tables as t };
|
|
787
962
|
export type { BatchSelectType as B, PaymentSelectType as P, PaymentInsertType as a, BatchInsertType as b };
|