@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.
Files changed (31) hide show
  1. package/dist/database/schema.cjs +2 -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 +102 -40
  7. package/dist/export/worker.d.cts +27 -12
  8. package/dist/export/worker.d.mts +27 -12
  9. package/dist/export/worker.d.ts +27 -12
  10. package/dist/export/worker.mjs +102 -40
  11. package/dist/export/wrangler.cjs +1 -1
  12. package/dist/export/wrangler.d.cts +2 -1
  13. package/dist/export/wrangler.d.mts +2 -1
  14. package/dist/export/wrangler.d.ts +2 -1
  15. package/dist/export/wrangler.mjs +1 -1
  16. package/dist/shared/{bank.BoVUuQ1D.d.mts → bank.BkLncGmL.d.ts} +18 -10
  17. package/dist/shared/{bank.BT_Yf43j.d.cts → bank.BuNG2S8h.d.cts} +182 -7
  18. package/dist/shared/{bank.BT_Yf43j.d.mts → bank.BuNG2S8h.d.mts} +182 -7
  19. package/dist/shared/{bank.BT_Yf43j.d.ts → bank.BuNG2S8h.d.ts} +182 -7
  20. package/dist/shared/{bank.BeH-ZCJJ.mjs → bank.C9jAvwna.mjs} +24 -1
  21. package/dist/shared/{bank.DZS4d3MJ.mjs → bank.CNpjRxvL.mjs} +103 -59
  22. package/dist/shared/{bank.Ce58djRL.cjs → bank.DQn99N-C.cjs} +103 -59
  23. package/dist/shared/{bank.BwleO_ON.d.cts → bank.DWVLVMDa.d.mts} +18 -10
  24. package/dist/shared/{bank.DlquvmPs.d.ts → bank.DmypH3Au.d.cts} +18 -10
  25. package/dist/shared/{bank.CrAQe4PH.cjs → bank.P9gDUycr.cjs} +26 -0
  26. package/dist/types.cjs +6 -4
  27. package/dist/types.d.cts +47 -15
  28. package/dist/types.d.mts +47 -15
  29. package/dist/types.d.ts +47 -15
  30. package/dist/types.mjs +4 -4
  31. package/package.json +1 -1
@@ -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.DZS4d3MJ.mjs';
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 '../shared/bank.BeH-ZCJJ.mjs';
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 saveErsteCodeInputSchema = z.object({
33
- code: z.string()
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.string()
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
- connectorKey,
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({ token });
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 getErsteCodeURI() {
578
+ async getAuthUri(input) {
551
579
  return this.handleAction(
552
- null,
553
- { successMessage: "Erste URI code obtained." },
554
- async () => {
555
- this.bankConnector = initiateConnector("ERSTE", this.env);
556
- const uri = this.bankConnector instanceof ErsteConnector ? this.bankConnector.adminCodeCreationURI : "nothing";
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 saveErsteCode(input) {
606
+ async authorizeAccount(input) {
562
607
  return this.handleAction(
563
- { data: input, schema: saveErsteCodeInputSchema },
608
+ { data: input, schema: authorizeAccountInputSchema },
564
609
  { successMessage: "Erste code saved." },
565
- async ({ code }) => {
566
- this.bankConnector = initiateConnector("ERSTE", this.env);
567
- const token = await this.bankConnector.authenticate({
568
- token: code
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
- await this.env.BANK_KV.put("ERSTE:refreshToken", token);
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-erste-code-uri")
782
- ], BankServiceBase.prototype, "getErsteCodeURI", 1);
843
+ action("get-auth-uri")
844
+ ], BankServiceBase.prototype, "getAuthUri", 1);
783
845
  __decorateClass([
784
- action("save-erste-code")
785
- ], BankServiceBase.prototype, "saveErsteCode", 1);
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);
@@ -18,7 +18,7 @@ function defineBankServiceWrangler(config) {
18
18
  // Variables
19
19
  ...envs.local.vars,
20
20
  ENVIRONMENT: "localhost",
21
- ERSTE_REDIRECT_URI: "http://localhost:8080/api/v1/bank/erste/auth-complete",
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
- ERSTE_REDIRECT_URI: string;
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
- ERSTE_REDIRECT_URI: string;
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
- ERSTE_REDIRECT_URI: string;
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;
@@ -16,7 +16,7 @@ function defineBankServiceWrangler(config) {
16
16
  // Variables
17
17
  ...envs.local.vars,
18
18
  ENVIRONMENT: "localhost",
19
- ERSTE_REDIRECT_URI: "http://localhost:8080/api/v1/bank/erste/auth-complete",
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.BT_Yf43j.mjs';
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
- type ConnectorKey = 'ERSTE' | 'FINBRICKS' | 'MOCK' | 'CREDITAS' | 'MOCK_COBS' | 'FIO' | 'MONETA';
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 authenticate(code: AuthInput): Promise<string>;
87
- abstract connectUserAccount(): Promise<AccountConnection>;
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 o, PAYMENT_TYPES as q, PAYMENT_STATUSES as s, PAYMENT_DIRECTIONS as t, COUNTRY_CODES as v };
114
- export type { AccountConnection 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, AuthInput as f, IncomingPaymentMessage as g, InitiatedBatch as h, InitiatedPayment as i, PaymentStatus as j, BatchStatus as k, BatchMetadata as l, Currency as m, PaymentFailedInsertType as n, paymentInitializedInsertType as p, PaymentType as r, PaymentDirection as u };
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: "OPEN" | "WAITING_FOR_PROCESSING" | "PROCESSING" | "READY_TO_SIGN" | "PREPARED" | "COMPLETED" | "FAILED";
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: "OPEN" | "WAITING_FOR_PROCESSING" | "PROCESSING" | "READY_TO_SIGN" | "PREPARED" | "COMPLETED" | "FAILED";
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" | "COMPLETED" | "FAILED" | "INITIALIZED" | "PENDING" | "CREATED";
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" | "COMPLETED" | "FAILED" | "INITIALIZED" | "PENDING" | "CREATED";
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 };