@rebasepro/server-postgresql 0.1.2 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/LICENSE +22 -6
  2. package/dist/common/src/util/entities.d.ts +2 -2
  3. package/dist/common/src/util/relations.d.ts +1 -1
  4. package/dist/index.es.js +1160 -612
  5. package/dist/index.es.js.map +1 -1
  6. package/dist/index.umd.js +1158 -610
  7. package/dist/index.umd.js.map +1 -1
  8. package/dist/server-postgresql/src/PostgresAdapter.d.ts +6 -0
  9. package/dist/server-postgresql/src/PostgresBackendDriver.d.ts +2 -1
  10. package/dist/server-postgresql/src/PostgresBootstrapper.d.ts +0 -5
  11. package/dist/server-postgresql/src/auth/ensure-tables.d.ts +2 -1
  12. package/dist/server-postgresql/src/auth/services.d.ts +37 -15
  13. package/dist/server-postgresql/src/index.d.ts +1 -0
  14. package/dist/server-postgresql/src/schema/auth-schema.d.ts +43 -856
  15. package/dist/server-postgresql/src/schema/default-collections.d.ts +2 -0
  16. package/dist/server-postgresql/src/schema/doctor.d.ts +10 -1
  17. package/dist/server-postgresql/src/schema/introspect-db-logic.d.ts +1 -0
  18. package/dist/server-postgresql/src/services/entity-helpers.d.ts +1 -1
  19. package/dist/server-postgresql/src/services/realtimeService.d.ts +12 -0
  20. package/dist/server-postgresql/src/websocket.d.ts +2 -1
  21. package/dist/types/src/controllers/auth.d.ts +9 -8
  22. package/dist/types/src/controllers/client.d.ts +3 -0
  23. package/dist/types/src/types/auth_adapter.d.ts +356 -0
  24. package/dist/types/src/types/collections.d.ts +67 -2
  25. package/dist/types/src/types/database_adapter.d.ts +94 -0
  26. package/dist/types/src/types/entity_actions.d.ts +7 -1
  27. package/dist/types/src/types/entity_callbacks.d.ts +1 -1
  28. package/dist/types/src/types/entity_views.d.ts +36 -1
  29. package/dist/types/src/types/index.d.ts +2 -0
  30. package/dist/types/src/types/plugins.d.ts +1 -1
  31. package/dist/types/src/types/properties.d.ts +24 -5
  32. package/dist/types/src/types/property_config.d.ts +6 -2
  33. package/dist/types/src/types/relations.d.ts +1 -1
  34. package/dist/types/src/types/translations.d.ts +8 -0
  35. package/dist/types/src/users/user.d.ts +5 -0
  36. package/package.json +21 -15
  37. package/src/PostgresAdapter.ts +59 -0
  38. package/src/PostgresBackendDriver.ts +57 -8
  39. package/src/PostgresBootstrapper.ts +35 -15
  40. package/src/auth/ensure-tables.ts +82 -189
  41. package/src/auth/services.ts +421 -170
  42. package/src/cli.ts +44 -13
  43. package/src/data-transformer.ts +78 -8
  44. package/src/history/HistoryService.ts +25 -2
  45. package/src/index.ts +1 -0
  46. package/src/schema/auth-schema.ts +130 -98
  47. package/src/schema/default-collections.ts +68 -0
  48. package/src/schema/doctor-cli.ts +5 -1
  49. package/src/schema/doctor.ts +85 -8
  50. package/src/schema/generate-drizzle-schema-logic.ts +74 -27
  51. package/src/schema/generate-drizzle-schema.ts +13 -3
  52. package/src/schema/introspect-db-inference.ts +5 -5
  53. package/src/schema/introspect-db-logic.ts +9 -2
  54. package/src/schema/introspect-db.ts +14 -3
  55. package/src/services/EntityFetchService.ts +5 -5
  56. package/src/services/RelationService.ts +2 -2
  57. package/src/services/entity-helpers.ts +1 -1
  58. package/src/services/realtimeService.ts +145 -136
  59. package/src/utils/drizzle-conditions.ts +16 -2
  60. package/src/websocket.ts +113 -37
  61. package/test/auth-services.test.ts +163 -74
  62. package/test/data-transformer-hardening.test.ts +57 -0
  63. package/test/data-transformer.test.ts +43 -0
  64. package/test/generate-drizzle-schema.test.ts +7 -5
  65. package/test/introspect-db-utils.test.ts +4 -1
  66. package/test/postgresDataDriver.test.ts +17 -0
  67. package/test/realtimeService.test.ts +7 -7
  68. package/test/websocket.test.ts +139 -0
@@ -1,860 +1,47 @@
1
1
  /**
2
- * Dedicated PostgreSQL schema for all Rebase internal tables.
3
- * Keeps the user's `public` schema clean.
4
- */
5
- export declare const rebaseSchema: import("drizzle-orm/pg-core").PgSchema<"rebase">;
6
- /**
7
- * Users table - stores both email/password and OAuth users
8
- */
9
- export declare const users: import("drizzle-orm/pg-core").PgTableWithColumns<{
10
- name: "users";
11
- schema: "rebase";
12
- columns: {
13
- id: import("drizzle-orm/pg-core").PgColumn<{
14
- name: "id";
15
- tableName: "users";
16
- dataType: "string";
17
- columnType: "PgUUID";
18
- data: string;
19
- driverParam: string;
20
- notNull: true;
21
- hasDefault: true;
22
- isPrimaryKey: true;
23
- isAutoincrement: false;
24
- hasRuntimeDefault: false;
25
- enumValues: undefined;
26
- baseColumn: never;
27
- identity: undefined;
28
- generated: undefined;
29
- }, {}, {}>;
30
- email: import("drizzle-orm/pg-core").PgColumn<{
31
- name: "email";
32
- tableName: "users";
33
- dataType: "string";
34
- columnType: "PgVarchar";
35
- data: string;
36
- driverParam: string;
37
- notNull: true;
38
- hasDefault: false;
39
- isPrimaryKey: false;
40
- isAutoincrement: false;
41
- hasRuntimeDefault: false;
42
- enumValues: [string, ...string[]];
43
- baseColumn: never;
44
- identity: undefined;
45
- generated: undefined;
46
- }, {}, {
47
- length: 255;
48
- }>;
49
- passwordHash: import("drizzle-orm/pg-core").PgColumn<{
50
- name: "password_hash";
51
- tableName: "users";
52
- dataType: "string";
53
- columnType: "PgVarchar";
54
- data: string;
55
- driverParam: string;
56
- notNull: false;
57
- hasDefault: false;
58
- isPrimaryKey: false;
59
- isAutoincrement: false;
60
- hasRuntimeDefault: false;
61
- enumValues: [string, ...string[]];
62
- baseColumn: never;
63
- identity: undefined;
64
- generated: undefined;
65
- }, {}, {
66
- length: 255;
67
- }>;
68
- displayName: import("drizzle-orm/pg-core").PgColumn<{
69
- name: "display_name";
70
- tableName: "users";
71
- dataType: "string";
72
- columnType: "PgVarchar";
73
- data: string;
74
- driverParam: string;
75
- notNull: false;
76
- hasDefault: false;
77
- isPrimaryKey: false;
78
- isAutoincrement: false;
79
- hasRuntimeDefault: false;
80
- enumValues: [string, ...string[]];
81
- baseColumn: never;
82
- identity: undefined;
83
- generated: undefined;
84
- }, {}, {
85
- length: 255;
86
- }>;
87
- photoUrl: import("drizzle-orm/pg-core").PgColumn<{
88
- name: "photo_url";
89
- tableName: "users";
90
- dataType: "string";
91
- columnType: "PgVarchar";
92
- data: string;
93
- driverParam: string;
94
- notNull: false;
95
- hasDefault: false;
96
- isPrimaryKey: false;
97
- isAutoincrement: false;
98
- hasRuntimeDefault: false;
99
- enumValues: [string, ...string[]];
100
- baseColumn: never;
101
- identity: undefined;
102
- generated: undefined;
103
- }, {}, {
104
- length: 500;
105
- }>;
106
- emailVerified: import("drizzle-orm/pg-core").PgColumn<{
107
- name: "email_verified";
108
- tableName: "users";
109
- dataType: "boolean";
110
- columnType: "PgBoolean";
111
- data: boolean;
112
- driverParam: boolean;
113
- notNull: true;
114
- hasDefault: true;
115
- isPrimaryKey: false;
116
- isAutoincrement: false;
117
- hasRuntimeDefault: false;
118
- enumValues: undefined;
119
- baseColumn: never;
120
- identity: undefined;
121
- generated: undefined;
122
- }, {}, {}>;
123
- emailVerificationToken: import("drizzle-orm/pg-core").PgColumn<{
124
- name: "email_verification_token";
125
- tableName: "users";
126
- dataType: "string";
127
- columnType: "PgVarchar";
128
- data: string;
129
- driverParam: string;
130
- notNull: false;
131
- hasDefault: false;
132
- isPrimaryKey: false;
133
- isAutoincrement: false;
134
- hasRuntimeDefault: false;
135
- enumValues: [string, ...string[]];
136
- baseColumn: never;
137
- identity: undefined;
138
- generated: undefined;
139
- }, {}, {
140
- length: 255;
141
- }>;
142
- emailVerificationSentAt: import("drizzle-orm/pg-core").PgColumn<{
143
- name: "email_verification_sent_at";
144
- tableName: "users";
145
- dataType: "date";
146
- columnType: "PgTimestamp";
147
- data: Date;
148
- driverParam: string;
149
- notNull: false;
150
- hasDefault: false;
151
- isPrimaryKey: false;
152
- isAutoincrement: false;
153
- hasRuntimeDefault: false;
154
- enumValues: undefined;
155
- baseColumn: never;
156
- identity: undefined;
157
- generated: undefined;
158
- }, {}, {}>;
159
- createdAt: import("drizzle-orm/pg-core").PgColumn<{
160
- name: "created_at";
161
- tableName: "users";
162
- dataType: "date";
163
- columnType: "PgTimestamp";
164
- data: Date;
165
- driverParam: string;
166
- notNull: true;
167
- hasDefault: true;
168
- isPrimaryKey: false;
169
- isAutoincrement: false;
170
- hasRuntimeDefault: false;
171
- enumValues: undefined;
172
- baseColumn: never;
173
- identity: undefined;
174
- generated: undefined;
175
- }, {}, {}>;
176
- updatedAt: import("drizzle-orm/pg-core").PgColumn<{
177
- name: "updated_at";
178
- tableName: "users";
179
- dataType: "date";
180
- columnType: "PgTimestamp";
181
- data: Date;
182
- driverParam: string;
183
- notNull: true;
184
- hasDefault: true;
185
- isPrimaryKey: false;
186
- isAutoincrement: false;
187
- hasRuntimeDefault: false;
188
- enumValues: undefined;
189
- baseColumn: never;
190
- identity: undefined;
191
- generated: undefined;
192
- }, {}, {}>;
193
- };
194
- dialect: "pg";
195
- }>;
196
- /**
197
- * Roles table - defines permission sets
198
- */
199
- export declare const roles: import("drizzle-orm/pg-core").PgTableWithColumns<{
200
- name: "roles";
201
- schema: "rebase";
202
- columns: {
203
- id: import("drizzle-orm/pg-core").PgColumn<{
204
- name: "id";
205
- tableName: "roles";
206
- dataType: "string";
207
- columnType: "PgVarchar";
208
- data: string;
209
- driverParam: string;
210
- notNull: true;
211
- hasDefault: false;
212
- isPrimaryKey: true;
213
- isAutoincrement: false;
214
- hasRuntimeDefault: false;
215
- enumValues: [string, ...string[]];
216
- baseColumn: never;
217
- identity: undefined;
218
- generated: undefined;
219
- }, {}, {
220
- length: 50;
221
- }>;
222
- name: import("drizzle-orm/pg-core").PgColumn<{
223
- name: "name";
224
- tableName: "roles";
225
- dataType: "string";
226
- columnType: "PgVarchar";
227
- data: string;
228
- driverParam: string;
229
- notNull: true;
230
- hasDefault: false;
231
- isPrimaryKey: false;
232
- isAutoincrement: false;
233
- hasRuntimeDefault: false;
234
- enumValues: [string, ...string[]];
235
- baseColumn: never;
236
- identity: undefined;
237
- generated: undefined;
238
- }, {}, {
239
- length: 100;
240
- }>;
241
- isAdmin: import("drizzle-orm/pg-core").PgColumn<{
242
- name: "is_admin";
243
- tableName: "roles";
244
- dataType: "boolean";
245
- columnType: "PgBoolean";
246
- data: boolean;
247
- driverParam: boolean;
248
- notNull: true;
249
- hasDefault: true;
250
- isPrimaryKey: false;
251
- isAutoincrement: false;
252
- hasRuntimeDefault: false;
253
- enumValues: undefined;
254
- baseColumn: never;
255
- identity: undefined;
256
- generated: undefined;
257
- }, {}, {}>;
258
- defaultPermissions: import("drizzle-orm/pg-core").PgColumn<{
259
- name: "default_permissions";
260
- tableName: "roles";
261
- dataType: "json";
262
- columnType: "PgJsonb";
263
- data: {
264
- read?: boolean;
265
- create?: boolean;
266
- edit?: boolean;
267
- delete?: boolean;
268
- };
269
- driverParam: unknown;
270
- notNull: false;
271
- hasDefault: false;
272
- isPrimaryKey: false;
273
- isAutoincrement: false;
274
- hasRuntimeDefault: false;
275
- enumValues: undefined;
276
- baseColumn: never;
277
- identity: undefined;
278
- generated: undefined;
279
- }, {}, {
280
- $type: {
281
- read?: boolean;
282
- create?: boolean;
283
- edit?: boolean;
284
- delete?: boolean;
285
- };
286
- }>;
287
- collectionPermissions: import("drizzle-orm/pg-core").PgColumn<{
288
- name: "collection_permissions";
289
- tableName: "roles";
290
- dataType: "json";
291
- columnType: "PgJsonb";
292
- data: Record<string, {
293
- read?: boolean;
294
- create?: boolean;
295
- edit?: boolean;
296
- delete?: boolean;
297
- }>;
298
- driverParam: unknown;
299
- notNull: false;
300
- hasDefault: false;
301
- isPrimaryKey: false;
302
- isAutoincrement: false;
303
- hasRuntimeDefault: false;
304
- enumValues: undefined;
305
- baseColumn: never;
306
- identity: undefined;
307
- generated: undefined;
308
- }, {}, {
309
- $type: Record<string, {
310
- read?: boolean;
311
- create?: boolean;
312
- edit?: boolean;
313
- delete?: boolean;
314
- }>;
315
- }>;
316
- config: import("drizzle-orm/pg-core").PgColumn<{
317
- name: "config";
318
- tableName: "roles";
319
- dataType: "json";
320
- columnType: "PgJsonb";
321
- data: {
322
- createCollections?: boolean;
323
- editCollections?: "own" | "all" | boolean;
324
- deleteCollections?: "own" | "all" | boolean;
325
- };
326
- driverParam: unknown;
327
- notNull: false;
328
- hasDefault: false;
329
- isPrimaryKey: false;
330
- isAutoincrement: false;
331
- hasRuntimeDefault: false;
332
- enumValues: undefined;
333
- baseColumn: never;
334
- identity: undefined;
335
- generated: undefined;
336
- }, {}, {
337
- $type: {
338
- createCollections?: boolean;
339
- editCollections?: "own" | "all" | boolean;
340
- deleteCollections?: "own" | "all" | boolean;
341
- };
342
- }>;
343
- };
344
- dialect: "pg";
345
- }>;
346
- /**
347
- * User-Role junction table
348
- */
349
- export declare const userRoles: import("drizzle-orm/pg-core").PgTableWithColumns<{
350
- name: "user_roles";
351
- schema: "rebase";
352
- columns: {
353
- userId: import("drizzle-orm/pg-core").PgColumn<{
354
- name: "user_id";
355
- tableName: "user_roles";
356
- dataType: "string";
357
- columnType: "PgUUID";
358
- data: string;
359
- driverParam: string;
360
- notNull: true;
361
- hasDefault: false;
362
- isPrimaryKey: false;
363
- isAutoincrement: false;
364
- hasRuntimeDefault: false;
365
- enumValues: undefined;
366
- baseColumn: never;
367
- identity: undefined;
368
- generated: undefined;
369
- }, {}, {}>;
370
- roleId: import("drizzle-orm/pg-core").PgColumn<{
371
- name: "role_id";
372
- tableName: "user_roles";
373
- dataType: "string";
374
- columnType: "PgVarchar";
375
- data: string;
376
- driverParam: string;
377
- notNull: true;
378
- hasDefault: false;
379
- isPrimaryKey: false;
380
- isAutoincrement: false;
381
- hasRuntimeDefault: false;
382
- enumValues: [string, ...string[]];
383
- baseColumn: never;
384
- identity: undefined;
385
- generated: undefined;
386
- }, {}, {
387
- length: 50;
388
- }>;
389
- };
390
- dialect: "pg";
391
- }>;
392
- /**
393
- * Refresh tokens for long-lived sessions
394
- */
395
- export declare const refreshTokens: import("drizzle-orm/pg-core").PgTableWithColumns<{
396
- name: "refresh_tokens";
397
- schema: "rebase";
398
- columns: {
399
- id: import("drizzle-orm/pg-core").PgColumn<{
400
- name: "id";
401
- tableName: "refresh_tokens";
402
- dataType: "string";
403
- columnType: "PgUUID";
404
- data: string;
405
- driverParam: string;
406
- notNull: true;
407
- hasDefault: true;
408
- isPrimaryKey: true;
409
- isAutoincrement: false;
410
- hasRuntimeDefault: false;
411
- enumValues: undefined;
412
- baseColumn: never;
413
- identity: undefined;
414
- generated: undefined;
415
- }, {}, {}>;
416
- userId: import("drizzle-orm/pg-core").PgColumn<{
417
- name: "user_id";
418
- tableName: "refresh_tokens";
419
- dataType: "string";
420
- columnType: "PgUUID";
421
- data: string;
422
- driverParam: string;
423
- notNull: true;
424
- hasDefault: false;
425
- isPrimaryKey: false;
426
- isAutoincrement: false;
427
- hasRuntimeDefault: false;
428
- enumValues: undefined;
429
- baseColumn: never;
430
- identity: undefined;
431
- generated: undefined;
432
- }, {}, {}>;
433
- tokenHash: import("drizzle-orm/pg-core").PgColumn<{
434
- name: "token_hash";
435
- tableName: "refresh_tokens";
436
- dataType: "string";
437
- columnType: "PgVarchar";
438
- data: string;
439
- driverParam: string;
440
- notNull: true;
441
- hasDefault: false;
442
- isPrimaryKey: false;
443
- isAutoincrement: false;
444
- hasRuntimeDefault: false;
445
- enumValues: [string, ...string[]];
446
- baseColumn: never;
447
- identity: undefined;
448
- generated: undefined;
449
- }, {}, {
450
- length: 255;
451
- }>;
452
- expiresAt: import("drizzle-orm/pg-core").PgColumn<{
453
- name: "expires_at";
454
- tableName: "refresh_tokens";
455
- dataType: "date";
456
- columnType: "PgTimestamp";
457
- data: Date;
458
- driverParam: string;
459
- notNull: true;
460
- hasDefault: false;
461
- isPrimaryKey: false;
462
- isAutoincrement: false;
463
- hasRuntimeDefault: false;
464
- enumValues: undefined;
465
- baseColumn: never;
466
- identity: undefined;
467
- generated: undefined;
468
- }, {}, {}>;
469
- userAgent: import("drizzle-orm/pg-core").PgColumn<{
470
- name: "user_agent";
471
- tableName: "refresh_tokens";
472
- dataType: "string";
473
- columnType: "PgVarchar";
474
- data: string;
475
- driverParam: string;
476
- notNull: false;
477
- hasDefault: false;
478
- isPrimaryKey: false;
479
- isAutoincrement: false;
480
- hasRuntimeDefault: false;
481
- enumValues: [string, ...string[]];
482
- baseColumn: never;
483
- identity: undefined;
484
- generated: undefined;
485
- }, {}, {
486
- length: 500;
487
- }>;
488
- ipAddress: import("drizzle-orm/pg-core").PgColumn<{
489
- name: "ip_address";
490
- tableName: "refresh_tokens";
491
- dataType: "string";
492
- columnType: "PgVarchar";
493
- data: string;
494
- driverParam: string;
495
- notNull: false;
496
- hasDefault: false;
497
- isPrimaryKey: false;
498
- isAutoincrement: false;
499
- hasRuntimeDefault: false;
500
- enumValues: [string, ...string[]];
501
- baseColumn: never;
502
- identity: undefined;
503
- generated: undefined;
504
- }, {}, {
505
- length: 45;
506
- }>;
507
- createdAt: import("drizzle-orm/pg-core").PgColumn<{
508
- name: "created_at";
509
- tableName: "refresh_tokens";
510
- dataType: "date";
511
- columnType: "PgTimestamp";
512
- data: Date;
513
- driverParam: string;
514
- notNull: true;
515
- hasDefault: true;
516
- isPrimaryKey: false;
517
- isAutoincrement: false;
518
- hasRuntimeDefault: false;
519
- enumValues: undefined;
520
- baseColumn: never;
521
- identity: undefined;
522
- generated: undefined;
523
- }, {}, {}>;
524
- };
525
- dialect: "pg";
526
- }>;
527
- /**
528
- * Password reset tokens for forgot password flow
529
- */
530
- export declare const passwordResetTokens: import("drizzle-orm/pg-core").PgTableWithColumns<{
531
- name: "password_reset_tokens";
532
- schema: "rebase";
533
- columns: {
534
- id: import("drizzle-orm/pg-core").PgColumn<{
535
- name: "id";
536
- tableName: "password_reset_tokens";
537
- dataType: "string";
538
- columnType: "PgUUID";
539
- data: string;
540
- driverParam: string;
541
- notNull: true;
542
- hasDefault: true;
543
- isPrimaryKey: true;
544
- isAutoincrement: false;
545
- hasRuntimeDefault: false;
546
- enumValues: undefined;
547
- baseColumn: never;
548
- identity: undefined;
549
- generated: undefined;
550
- }, {}, {}>;
551
- userId: import("drizzle-orm/pg-core").PgColumn<{
552
- name: "user_id";
553
- tableName: "password_reset_tokens";
554
- dataType: "string";
555
- columnType: "PgUUID";
556
- data: string;
557
- driverParam: string;
558
- notNull: true;
559
- hasDefault: false;
560
- isPrimaryKey: false;
561
- isAutoincrement: false;
562
- hasRuntimeDefault: false;
563
- enumValues: undefined;
564
- baseColumn: never;
565
- identity: undefined;
566
- generated: undefined;
567
- }, {}, {}>;
568
- tokenHash: import("drizzle-orm/pg-core").PgColumn<{
569
- name: "token_hash";
570
- tableName: "password_reset_tokens";
571
- dataType: "string";
572
- columnType: "PgVarchar";
573
- data: string;
574
- driverParam: string;
575
- notNull: true;
576
- hasDefault: false;
577
- isPrimaryKey: false;
578
- isAutoincrement: false;
579
- hasRuntimeDefault: false;
580
- enumValues: [string, ...string[]];
581
- baseColumn: never;
582
- identity: undefined;
583
- generated: undefined;
584
- }, {}, {
585
- length: 255;
586
- }>;
587
- expiresAt: import("drizzle-orm/pg-core").PgColumn<{
588
- name: "expires_at";
589
- tableName: "password_reset_tokens";
590
- dataType: "date";
591
- columnType: "PgTimestamp";
592
- data: Date;
593
- driverParam: string;
594
- notNull: true;
595
- hasDefault: false;
596
- isPrimaryKey: false;
597
- isAutoincrement: false;
598
- hasRuntimeDefault: false;
599
- enumValues: undefined;
600
- baseColumn: never;
601
- identity: undefined;
602
- generated: undefined;
603
- }, {}, {}>;
604
- usedAt: import("drizzle-orm/pg-core").PgColumn<{
605
- name: "used_at";
606
- tableName: "password_reset_tokens";
607
- dataType: "date";
608
- columnType: "PgTimestamp";
609
- data: Date;
610
- driverParam: string;
611
- notNull: false;
612
- hasDefault: false;
613
- isPrimaryKey: false;
614
- isAutoincrement: false;
615
- hasRuntimeDefault: false;
616
- enumValues: undefined;
617
- baseColumn: never;
618
- identity: undefined;
619
- generated: undefined;
620
- }, {}, {}>;
621
- createdAt: import("drizzle-orm/pg-core").PgColumn<{
622
- name: "created_at";
623
- tableName: "password_reset_tokens";
624
- dataType: "date";
625
- columnType: "PgTimestamp";
626
- data: Date;
627
- driverParam: string;
628
- notNull: true;
629
- hasDefault: true;
630
- isPrimaryKey: false;
631
- isAutoincrement: false;
632
- hasRuntimeDefault: false;
633
- enumValues: undefined;
634
- baseColumn: never;
635
- identity: undefined;
636
- generated: undefined;
637
- }, {}, {}>;
638
- };
639
- dialect: "pg";
640
- }>;
641
- /**
642
- * App config - key/value store for custom settings
643
- */
644
- export declare const appConfig: import("drizzle-orm/pg-core").PgTableWithColumns<{
645
- name: "app_config";
646
- schema: "rebase";
647
- columns: {
648
- key: import("drizzle-orm/pg-core").PgColumn<{
649
- name: "key";
650
- tableName: "app_config";
651
- dataType: "string";
652
- columnType: "PgVarchar";
653
- data: string;
654
- driverParam: string;
655
- notNull: true;
656
- hasDefault: false;
657
- isPrimaryKey: true;
658
- isAutoincrement: false;
659
- hasRuntimeDefault: false;
660
- enumValues: [string, ...string[]];
661
- baseColumn: never;
662
- identity: undefined;
663
- generated: undefined;
664
- }, {}, {
665
- length: 100;
666
- }>;
667
- value: import("drizzle-orm/pg-core").PgColumn<{
668
- name: "value";
669
- tableName: "app_config";
670
- dataType: "json";
671
- columnType: "PgJsonb";
672
- data: unknown;
673
- driverParam: unknown;
674
- notNull: true;
675
- hasDefault: false;
676
- isPrimaryKey: false;
677
- isAutoincrement: false;
678
- hasRuntimeDefault: false;
679
- enumValues: undefined;
680
- baseColumn: never;
681
- identity: undefined;
682
- generated: undefined;
683
- }, {}, {}>;
684
- updatedAt: import("drizzle-orm/pg-core").PgColumn<{
685
- name: "updated_at";
686
- tableName: "app_config";
687
- dataType: "date";
688
- columnType: "PgTimestamp";
689
- data: Date;
690
- driverParam: string;
691
- notNull: true;
692
- hasDefault: true;
693
- isPrimaryKey: false;
694
- isAutoincrement: false;
695
- hasRuntimeDefault: false;
696
- enumValues: undefined;
697
- baseColumn: never;
698
- identity: undefined;
699
- generated: undefined;
700
- }, {}, {}>;
701
- };
702
- dialect: "pg";
703
- }>;
704
- /**
705
- * User identities - maps external OAuth profiles back to local users
706
- */
707
- export declare const userIdentities: import("drizzle-orm/pg-core").PgTableWithColumns<{
708
- name: "user_identities";
709
- schema: "rebase";
710
- columns: {
711
- id: import("drizzle-orm/pg-core").PgColumn<{
712
- name: "id";
713
- tableName: "user_identities";
714
- dataType: "string";
715
- columnType: "PgUUID";
716
- data: string;
717
- driverParam: string;
718
- notNull: true;
719
- hasDefault: true;
720
- isPrimaryKey: true;
721
- isAutoincrement: false;
722
- hasRuntimeDefault: false;
723
- enumValues: undefined;
724
- baseColumn: never;
725
- identity: undefined;
726
- generated: undefined;
727
- }, {}, {}>;
728
- userId: import("drizzle-orm/pg-core").PgColumn<{
729
- name: "user_id";
730
- tableName: "user_identities";
731
- dataType: "string";
732
- columnType: "PgUUID";
733
- data: string;
734
- driverParam: string;
735
- notNull: true;
736
- hasDefault: false;
737
- isPrimaryKey: false;
738
- isAutoincrement: false;
739
- hasRuntimeDefault: false;
740
- enumValues: undefined;
741
- baseColumn: never;
742
- identity: undefined;
743
- generated: undefined;
744
- }, {}, {}>;
745
- provider: import("drizzle-orm/pg-core").PgColumn<{
746
- name: "provider";
747
- tableName: "user_identities";
748
- dataType: "string";
749
- columnType: "PgVarchar";
750
- data: string;
751
- driverParam: string;
752
- notNull: true;
753
- hasDefault: false;
754
- isPrimaryKey: false;
755
- isAutoincrement: false;
756
- hasRuntimeDefault: false;
757
- enumValues: [string, ...string[]];
758
- baseColumn: never;
759
- identity: undefined;
760
- generated: undefined;
761
- }, {}, {
762
- length: 50;
763
- }>;
764
- providerId: import("drizzle-orm/pg-core").PgColumn<{
765
- name: "provider_id";
766
- tableName: "user_identities";
767
- dataType: "string";
768
- columnType: "PgVarchar";
769
- data: string;
770
- driverParam: string;
771
- notNull: true;
772
- hasDefault: false;
773
- isPrimaryKey: false;
774
- isAutoincrement: false;
775
- hasRuntimeDefault: false;
776
- enumValues: [string, ...string[]];
777
- baseColumn: never;
778
- identity: undefined;
779
- generated: undefined;
780
- }, {}, {
781
- length: 255;
782
- }>;
783
- profileData: import("drizzle-orm/pg-core").PgColumn<{
784
- name: "profile_data";
785
- tableName: "user_identities";
786
- dataType: "json";
787
- columnType: "PgJsonb";
788
- data: unknown;
789
- driverParam: unknown;
790
- notNull: false;
791
- hasDefault: false;
792
- isPrimaryKey: false;
793
- isAutoincrement: false;
794
- hasRuntimeDefault: false;
795
- enumValues: undefined;
796
- baseColumn: never;
797
- identity: undefined;
798
- generated: undefined;
799
- }, {}, {}>;
800
- createdAt: import("drizzle-orm/pg-core").PgColumn<{
801
- name: "created_at";
802
- tableName: "user_identities";
803
- dataType: "date";
804
- columnType: "PgTimestamp";
805
- data: Date;
806
- driverParam: string;
807
- notNull: true;
808
- hasDefault: true;
809
- isPrimaryKey: false;
810
- isAutoincrement: false;
811
- hasRuntimeDefault: false;
812
- enumValues: undefined;
813
- baseColumn: never;
814
- identity: undefined;
815
- generated: undefined;
816
- }, {}, {}>;
817
- updatedAt: import("drizzle-orm/pg-core").PgColumn<{
818
- name: "updated_at";
819
- tableName: "user_identities";
820
- dataType: "date";
821
- columnType: "PgTimestamp";
822
- data: Date;
823
- driverParam: string;
824
- notNull: true;
825
- hasDefault: true;
826
- isPrimaryKey: false;
827
- isAutoincrement: false;
828
- hasRuntimeDefault: false;
829
- enumValues: undefined;
830
- baseColumn: never;
831
- identity: undefined;
832
- generated: undefined;
833
- }, {}, {}>;
834
- };
835
- dialect: "pg";
836
- }>;
837
- export declare const usersRelations: import("drizzle-orm").Relations<"users", {
838
- userRoles: import("drizzle-orm").Many<"user_roles">;
839
- refreshTokens: import("drizzle-orm").Many<"refresh_tokens">;
840
- passwordResetTokens: import("drizzle-orm").Many<"password_reset_tokens">;
841
- userIdentities: import("drizzle-orm").Many<"user_identities">;
842
- }>;
843
- export declare const rolesRelations: import("drizzle-orm").Relations<"roles", {
844
- userRoles: import("drizzle-orm").Many<"user_roles">;
845
- }>;
846
- export declare const userRolesRelations: import("drizzle-orm").Relations<"user_roles", {
847
- user: import("drizzle-orm").One<"users", true>;
848
- role: import("drizzle-orm").One<"roles", true>;
849
- }>;
850
- export declare const refreshTokensRelations: import("drizzle-orm").Relations<"refresh_tokens", {
851
- user: import("drizzle-orm").One<"users", true>;
852
- }>;
853
- export declare const passwordResetTokensRelations: import("drizzle-orm").Relations<"password_reset_tokens", {
854
- user: import("drizzle-orm").One<"users", true>;
855
- }>;
856
- export declare const userIdentitiesRelations: import("drizzle-orm").Relations<"user_identities", {
857
- user: import("drizzle-orm").One<"users", true>;
2
+ * Factory function to dynamically create the auth tables bound to the specified schema names.
3
+ */
4
+ export declare function createAuthSchema(rolesSchemaName?: string, usersSchemaName?: string): {
5
+ rolesSchema: import("drizzle-orm/pg-core").PgSchema<string> | null;
6
+ usersSchema: import("drizzle-orm/pg-core").PgSchema<string> | null;
7
+ users: any;
8
+ roles: any;
9
+ userRoles: any;
10
+ refreshTokens: any;
11
+ passwordResetTokens: any;
12
+ appConfig: any;
13
+ userIdentities: any;
14
+ };
15
+ export declare const rebaseSchema: import("drizzle-orm/pg-core").PgSchema<string> | null;
16
+ export declare const usersSchema: import("drizzle-orm/pg-core").PgSchema<string> | null;
17
+ export declare const users: any;
18
+ export declare const roles: any;
19
+ export declare const userRoles: any;
20
+ export declare const refreshTokens: any;
21
+ export declare const passwordResetTokens: any;
22
+ export declare const appConfig: any;
23
+ export declare const userIdentities: any;
24
+ export declare const usersRelations: import("drizzle-orm").Relations<string, {
25
+ userRoles: import("drizzle-orm").Many<any>;
26
+ refreshTokens: import("drizzle-orm").Many<any>;
27
+ passwordResetTokens: import("drizzle-orm").Many<any>;
28
+ userIdentities: import("drizzle-orm").Many<any>;
29
+ }>;
30
+ export declare const rolesRelations: import("drizzle-orm").Relations<string, {
31
+ userRoles: import("drizzle-orm").Many<any>;
32
+ }>;
33
+ export declare const userRolesRelations: import("drizzle-orm").Relations<string, {
34
+ user: import("drizzle-orm").One<any, false>;
35
+ role: import("drizzle-orm").One<any, false>;
36
+ }>;
37
+ export declare const refreshTokensRelations: import("drizzle-orm").Relations<string, {
38
+ user: import("drizzle-orm").One<any, false>;
39
+ }>;
40
+ export declare const passwordResetTokensRelations: import("drizzle-orm").Relations<string, {
41
+ user: import("drizzle-orm").One<any, false>;
42
+ }>;
43
+ export declare const userIdentitiesRelations: import("drizzle-orm").Relations<string, {
44
+ user: import("drizzle-orm").One<any, false>;
858
45
  }>;
859
46
  export type User = typeof users.$inferSelect;
860
47
  export type NewUser = typeof users.$inferInsert;