@rebasepro/server-postgresql 0.0.1-canary.4d4fb3e

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 (147) hide show
  1. package/LICENSE +6 -0
  2. package/README.md +106 -0
  3. package/build-errors.txt +37 -0
  4. package/dist/common/src/collections/CollectionRegistry.d.ts +48 -0
  5. package/dist/common/src/collections/index.d.ts +1 -0
  6. package/dist/common/src/data/buildRebaseData.d.ts +14 -0
  7. package/dist/common/src/index.d.ts +3 -0
  8. package/dist/common/src/util/builders.d.ts +57 -0
  9. package/dist/common/src/util/callbacks.d.ts +6 -0
  10. package/dist/common/src/util/collections.d.ts +11 -0
  11. package/dist/common/src/util/common.d.ts +2 -0
  12. package/dist/common/src/util/conditions.d.ts +26 -0
  13. package/dist/common/src/util/entities.d.ts +36 -0
  14. package/dist/common/src/util/enums.d.ts +3 -0
  15. package/dist/common/src/util/index.d.ts +16 -0
  16. package/dist/common/src/util/navigation_from_path.d.ts +34 -0
  17. package/dist/common/src/util/navigation_utils.d.ts +20 -0
  18. package/dist/common/src/util/parent_references_from_path.d.ts +6 -0
  19. package/dist/common/src/util/paths.d.ts +14 -0
  20. package/dist/common/src/util/permissions.d.ts +5 -0
  21. package/dist/common/src/util/references.d.ts +2 -0
  22. package/dist/common/src/util/relations.d.ts +12 -0
  23. package/dist/common/src/util/resolutions.d.ts +72 -0
  24. package/dist/common/src/util/storage.d.ts +24 -0
  25. package/dist/index.es.js +10635 -0
  26. package/dist/index.es.js.map +1 -0
  27. package/dist/index.umd.js +10643 -0
  28. package/dist/index.umd.js.map +1 -0
  29. package/dist/server-postgresql/src/PostgresBackendDriver.d.ts +112 -0
  30. package/dist/server-postgresql/src/PostgresBootstrapper.d.ts +40 -0
  31. package/dist/server-postgresql/src/auth/ensure-tables.d.ts +6 -0
  32. package/dist/server-postgresql/src/auth/services.d.ts +188 -0
  33. package/dist/server-postgresql/src/cli.d.ts +1 -0
  34. package/dist/server-postgresql/src/collections/PostgresCollectionRegistry.d.ts +43 -0
  35. package/dist/server-postgresql/src/connection.d.ts +7 -0
  36. package/dist/server-postgresql/src/data-transformer.d.ts +36 -0
  37. package/dist/server-postgresql/src/databasePoolManager.d.ts +20 -0
  38. package/dist/server-postgresql/src/history/HistoryService.d.ts +71 -0
  39. package/dist/server-postgresql/src/history/ensure-history-table.d.ts +7 -0
  40. package/dist/server-postgresql/src/index.d.ts +13 -0
  41. package/dist/server-postgresql/src/interfaces.d.ts +18 -0
  42. package/dist/server-postgresql/src/schema/auth-schema.d.ts +767 -0
  43. package/dist/server-postgresql/src/schema/generate-drizzle-schema-logic.d.ts +2 -0
  44. package/dist/server-postgresql/src/schema/generate-drizzle-schema.d.ts +1 -0
  45. package/dist/server-postgresql/src/services/BranchService.d.ts +47 -0
  46. package/dist/server-postgresql/src/services/EntityFetchService.d.ts +195 -0
  47. package/dist/server-postgresql/src/services/EntityPersistService.d.ts +41 -0
  48. package/dist/server-postgresql/src/services/RelationService.d.ts +92 -0
  49. package/dist/server-postgresql/src/services/entity-helpers.d.ts +24 -0
  50. package/dist/server-postgresql/src/services/entityService.d.ts +102 -0
  51. package/dist/server-postgresql/src/services/index.d.ts +4 -0
  52. package/dist/server-postgresql/src/services/realtimeService.d.ts +186 -0
  53. package/dist/server-postgresql/src/utils/drizzle-conditions.d.ts +116 -0
  54. package/dist/server-postgresql/src/websocket.d.ts +5 -0
  55. package/dist/types/src/controllers/analytics_controller.d.ts +7 -0
  56. package/dist/types/src/controllers/auth.d.ts +117 -0
  57. package/dist/types/src/controllers/client.d.ts +58 -0
  58. package/dist/types/src/controllers/collection_registry.d.ts +44 -0
  59. package/dist/types/src/controllers/customization_controller.d.ts +54 -0
  60. package/dist/types/src/controllers/data.d.ts +141 -0
  61. package/dist/types/src/controllers/data_driver.d.ts +168 -0
  62. package/dist/types/src/controllers/database_admin.d.ts +11 -0
  63. package/dist/types/src/controllers/dialogs_controller.d.ts +36 -0
  64. package/dist/types/src/controllers/effective_role.d.ts +4 -0
  65. package/dist/types/src/controllers/index.d.ts +17 -0
  66. package/dist/types/src/controllers/local_config_persistence.d.ts +20 -0
  67. package/dist/types/src/controllers/navigation.d.ts +213 -0
  68. package/dist/types/src/controllers/registry.d.ts +51 -0
  69. package/dist/types/src/controllers/side_dialogs_controller.d.ts +67 -0
  70. package/dist/types/src/controllers/side_entity_controller.d.ts +89 -0
  71. package/dist/types/src/controllers/snackbar.d.ts +24 -0
  72. package/dist/types/src/controllers/storage.d.ts +173 -0
  73. package/dist/types/src/index.d.ts +4 -0
  74. package/dist/types/src/rebase_context.d.ts +101 -0
  75. package/dist/types/src/types/backend.d.ts +533 -0
  76. package/dist/types/src/types/builders.d.ts +14 -0
  77. package/dist/types/src/types/chips.d.ts +5 -0
  78. package/dist/types/src/types/collections.d.ts +812 -0
  79. package/dist/types/src/types/data_source.d.ts +64 -0
  80. package/dist/types/src/types/entities.d.ts +145 -0
  81. package/dist/types/src/types/entity_actions.d.ts +98 -0
  82. package/dist/types/src/types/entity_callbacks.d.ts +173 -0
  83. package/dist/types/src/types/entity_link_builder.d.ts +7 -0
  84. package/dist/types/src/types/entity_overrides.d.ts +9 -0
  85. package/dist/types/src/types/entity_views.d.ts +61 -0
  86. package/dist/types/src/types/export_import.d.ts +21 -0
  87. package/dist/types/src/types/index.d.ts +22 -0
  88. package/dist/types/src/types/locales.d.ts +4 -0
  89. package/dist/types/src/types/modify_collections.d.ts +5 -0
  90. package/dist/types/src/types/plugins.d.ts +225 -0
  91. package/dist/types/src/types/properties.d.ts +1091 -0
  92. package/dist/types/src/types/property_config.d.ts +70 -0
  93. package/dist/types/src/types/relations.d.ts +336 -0
  94. package/dist/types/src/types/slots.d.ts +228 -0
  95. package/dist/types/src/types/translations.d.ts +826 -0
  96. package/dist/types/src/types/user_management_delegate.d.ts +120 -0
  97. package/dist/types/src/types/websockets.d.ts +78 -0
  98. package/dist/types/src/users/index.d.ts +2 -0
  99. package/dist/types/src/users/roles.d.ts +22 -0
  100. package/dist/types/src/users/user.d.ts +46 -0
  101. package/jest-all.log +3128 -0
  102. package/jest.log +49 -0
  103. package/package.json +93 -0
  104. package/src/PostgresBackendDriver.ts +1024 -0
  105. package/src/PostgresBootstrapper.ts +232 -0
  106. package/src/auth/ensure-tables.ts +309 -0
  107. package/src/auth/services.ts +740 -0
  108. package/src/cli.ts +347 -0
  109. package/src/collections/PostgresCollectionRegistry.ts +96 -0
  110. package/src/connection.ts +62 -0
  111. package/src/data-transformer.ts +569 -0
  112. package/src/databasePoolManager.ts +84 -0
  113. package/src/history/HistoryService.ts +257 -0
  114. package/src/history/ensure-history-table.ts +45 -0
  115. package/src/index.ts +13 -0
  116. package/src/interfaces.ts +60 -0
  117. package/src/schema/auth-schema.ts +146 -0
  118. package/src/schema/generate-drizzle-schema-logic.ts +618 -0
  119. package/src/schema/generate-drizzle-schema.ts +151 -0
  120. package/src/services/BranchService.ts +237 -0
  121. package/src/services/EntityFetchService.ts +1447 -0
  122. package/src/services/EntityPersistService.ts +351 -0
  123. package/src/services/RelationService.ts +1012 -0
  124. package/src/services/entity-helpers.ts +121 -0
  125. package/src/services/entityService.ts +209 -0
  126. package/src/services/index.ts +13 -0
  127. package/src/services/realtimeService.ts +1005 -0
  128. package/src/utils/drizzle-conditions.ts +999 -0
  129. package/src/websocket.ts +487 -0
  130. package/test/auth-services.test.ts +569 -0
  131. package/test/branchService.test.ts +357 -0
  132. package/test/drizzle-conditions.test.ts +895 -0
  133. package/test/entityService.errors.test.ts +352 -0
  134. package/test/entityService.relations.test.ts +912 -0
  135. package/test/entityService.subcollection-search.test.ts +516 -0
  136. package/test/entityService.test.ts +977 -0
  137. package/test/generate-drizzle-schema.test.ts +795 -0
  138. package/test/historyService.test.ts +126 -0
  139. package/test/postgresDataDriver.test.ts +556 -0
  140. package/test/realtimeService.test.ts +276 -0
  141. package/test/relations.test.ts +662 -0
  142. package/test_drizzle_mock.js +3 -0
  143. package/test_find_changed.mjs +30 -0
  144. package/test_output.txt +3145 -0
  145. package/tsconfig.json +49 -0
  146. package/tsconfig.prod.json +20 -0
  147. package/vite.config.ts +82 -0
@@ -0,0 +1,767 @@
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
+ provider: import("drizzle-orm/pg-core").PgColumn<{
107
+ name: "provider";
108
+ tableName: "users";
109
+ dataType: "string";
110
+ columnType: "PgVarchar";
111
+ data: string;
112
+ driverParam: string;
113
+ notNull: true;
114
+ hasDefault: true;
115
+ isPrimaryKey: false;
116
+ isAutoincrement: false;
117
+ hasRuntimeDefault: false;
118
+ enumValues: [string, ...string[]];
119
+ baseColumn: never;
120
+ identity: undefined;
121
+ generated: undefined;
122
+ }, {}, {
123
+ length: 50;
124
+ }>;
125
+ googleId: import("drizzle-orm/pg-core").PgColumn<{
126
+ name: "google_id";
127
+ tableName: "users";
128
+ dataType: "string";
129
+ columnType: "PgVarchar";
130
+ data: string;
131
+ driverParam: string;
132
+ notNull: false;
133
+ hasDefault: false;
134
+ isPrimaryKey: false;
135
+ isAutoincrement: false;
136
+ hasRuntimeDefault: false;
137
+ enumValues: [string, ...string[]];
138
+ baseColumn: never;
139
+ identity: undefined;
140
+ generated: undefined;
141
+ }, {}, {
142
+ length: 255;
143
+ }>;
144
+ emailVerified: import("drizzle-orm/pg-core").PgColumn<{
145
+ name: "email_verified";
146
+ tableName: "users";
147
+ dataType: "boolean";
148
+ columnType: "PgBoolean";
149
+ data: boolean;
150
+ driverParam: boolean;
151
+ notNull: true;
152
+ hasDefault: true;
153
+ isPrimaryKey: false;
154
+ isAutoincrement: false;
155
+ hasRuntimeDefault: false;
156
+ enumValues: undefined;
157
+ baseColumn: never;
158
+ identity: undefined;
159
+ generated: undefined;
160
+ }, {}, {}>;
161
+ emailVerificationToken: import("drizzle-orm/pg-core").PgColumn<{
162
+ name: "email_verification_token";
163
+ tableName: "users";
164
+ dataType: "string";
165
+ columnType: "PgVarchar";
166
+ data: string;
167
+ driverParam: string;
168
+ notNull: false;
169
+ hasDefault: false;
170
+ isPrimaryKey: false;
171
+ isAutoincrement: false;
172
+ hasRuntimeDefault: false;
173
+ enumValues: [string, ...string[]];
174
+ baseColumn: never;
175
+ identity: undefined;
176
+ generated: undefined;
177
+ }, {}, {
178
+ length: 255;
179
+ }>;
180
+ emailVerificationSentAt: import("drizzle-orm/pg-core").PgColumn<{
181
+ name: "email_verification_sent_at";
182
+ tableName: "users";
183
+ dataType: "date";
184
+ columnType: "PgTimestamp";
185
+ data: Date;
186
+ driverParam: string;
187
+ notNull: false;
188
+ hasDefault: false;
189
+ isPrimaryKey: false;
190
+ isAutoincrement: false;
191
+ hasRuntimeDefault: false;
192
+ enumValues: undefined;
193
+ baseColumn: never;
194
+ identity: undefined;
195
+ generated: undefined;
196
+ }, {}, {}>;
197
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
198
+ name: "created_at";
199
+ tableName: "users";
200
+ dataType: "date";
201
+ columnType: "PgTimestamp";
202
+ data: Date;
203
+ driverParam: string;
204
+ notNull: true;
205
+ hasDefault: true;
206
+ isPrimaryKey: false;
207
+ isAutoincrement: false;
208
+ hasRuntimeDefault: false;
209
+ enumValues: undefined;
210
+ baseColumn: never;
211
+ identity: undefined;
212
+ generated: undefined;
213
+ }, {}, {}>;
214
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
215
+ name: "updated_at";
216
+ tableName: "users";
217
+ dataType: "date";
218
+ columnType: "PgTimestamp";
219
+ data: Date;
220
+ driverParam: string;
221
+ notNull: true;
222
+ hasDefault: true;
223
+ isPrimaryKey: false;
224
+ isAutoincrement: false;
225
+ hasRuntimeDefault: false;
226
+ enumValues: undefined;
227
+ baseColumn: never;
228
+ identity: undefined;
229
+ generated: undefined;
230
+ }, {}, {}>;
231
+ };
232
+ dialect: "pg";
233
+ }>;
234
+ /**
235
+ * Roles table - defines permission sets
236
+ */
237
+ export declare const roles: import("drizzle-orm/pg-core").PgTableWithColumns<{
238
+ name: "roles";
239
+ schema: "rebase";
240
+ columns: {
241
+ id: import("drizzle-orm/pg-core").PgColumn<{
242
+ name: "id";
243
+ tableName: "roles";
244
+ dataType: "string";
245
+ columnType: "PgVarchar";
246
+ data: string;
247
+ driverParam: string;
248
+ notNull: true;
249
+ hasDefault: false;
250
+ isPrimaryKey: true;
251
+ isAutoincrement: false;
252
+ hasRuntimeDefault: false;
253
+ enumValues: [string, ...string[]];
254
+ baseColumn: never;
255
+ identity: undefined;
256
+ generated: undefined;
257
+ }, {}, {
258
+ length: 50;
259
+ }>;
260
+ name: import("drizzle-orm/pg-core").PgColumn<{
261
+ name: "name";
262
+ tableName: "roles";
263
+ dataType: "string";
264
+ columnType: "PgVarchar";
265
+ data: string;
266
+ driverParam: string;
267
+ notNull: true;
268
+ hasDefault: false;
269
+ isPrimaryKey: false;
270
+ isAutoincrement: false;
271
+ hasRuntimeDefault: false;
272
+ enumValues: [string, ...string[]];
273
+ baseColumn: never;
274
+ identity: undefined;
275
+ generated: undefined;
276
+ }, {}, {
277
+ length: 100;
278
+ }>;
279
+ isAdmin: import("drizzle-orm/pg-core").PgColumn<{
280
+ name: "is_admin";
281
+ tableName: "roles";
282
+ dataType: "boolean";
283
+ columnType: "PgBoolean";
284
+ data: boolean;
285
+ driverParam: boolean;
286
+ notNull: true;
287
+ hasDefault: true;
288
+ isPrimaryKey: false;
289
+ isAutoincrement: false;
290
+ hasRuntimeDefault: false;
291
+ enumValues: undefined;
292
+ baseColumn: never;
293
+ identity: undefined;
294
+ generated: undefined;
295
+ }, {}, {}>;
296
+ defaultPermissions: import("drizzle-orm/pg-core").PgColumn<{
297
+ name: "default_permissions";
298
+ tableName: "roles";
299
+ dataType: "json";
300
+ columnType: "PgJsonb";
301
+ data: {
302
+ read?: boolean;
303
+ create?: boolean;
304
+ edit?: boolean;
305
+ delete?: boolean;
306
+ };
307
+ driverParam: unknown;
308
+ notNull: false;
309
+ hasDefault: false;
310
+ isPrimaryKey: false;
311
+ isAutoincrement: false;
312
+ hasRuntimeDefault: false;
313
+ enumValues: undefined;
314
+ baseColumn: never;
315
+ identity: undefined;
316
+ generated: undefined;
317
+ }, {}, {
318
+ $type: {
319
+ read?: boolean;
320
+ create?: boolean;
321
+ edit?: boolean;
322
+ delete?: boolean;
323
+ };
324
+ }>;
325
+ collectionPermissions: import("drizzle-orm/pg-core").PgColumn<{
326
+ name: "collection_permissions";
327
+ tableName: "roles";
328
+ dataType: "json";
329
+ columnType: "PgJsonb";
330
+ data: Record<string, {
331
+ read?: boolean;
332
+ create?: boolean;
333
+ edit?: boolean;
334
+ delete?: boolean;
335
+ }>;
336
+ driverParam: unknown;
337
+ notNull: false;
338
+ hasDefault: false;
339
+ isPrimaryKey: false;
340
+ isAutoincrement: false;
341
+ hasRuntimeDefault: false;
342
+ enumValues: undefined;
343
+ baseColumn: never;
344
+ identity: undefined;
345
+ generated: undefined;
346
+ }, {}, {
347
+ $type: Record<string, {
348
+ read?: boolean;
349
+ create?: boolean;
350
+ edit?: boolean;
351
+ delete?: boolean;
352
+ }>;
353
+ }>;
354
+ config: import("drizzle-orm/pg-core").PgColumn<{
355
+ name: "config";
356
+ tableName: "roles";
357
+ dataType: "json";
358
+ columnType: "PgJsonb";
359
+ data: {
360
+ createCollections?: boolean;
361
+ editCollections?: "own" | "all" | boolean;
362
+ deleteCollections?: "own" | "all" | boolean;
363
+ };
364
+ driverParam: unknown;
365
+ notNull: false;
366
+ hasDefault: false;
367
+ isPrimaryKey: false;
368
+ isAutoincrement: false;
369
+ hasRuntimeDefault: false;
370
+ enumValues: undefined;
371
+ baseColumn: never;
372
+ identity: undefined;
373
+ generated: undefined;
374
+ }, {}, {
375
+ $type: {
376
+ createCollections?: boolean;
377
+ editCollections?: "own" | "all" | boolean;
378
+ deleteCollections?: "own" | "all" | boolean;
379
+ };
380
+ }>;
381
+ };
382
+ dialect: "pg";
383
+ }>;
384
+ /**
385
+ * User-Role junction table
386
+ */
387
+ export declare const userRoles: import("drizzle-orm/pg-core").PgTableWithColumns<{
388
+ name: "user_roles";
389
+ schema: "rebase";
390
+ columns: {
391
+ userId: import("drizzle-orm/pg-core").PgColumn<{
392
+ name: "user_id";
393
+ tableName: "user_roles";
394
+ dataType: "string";
395
+ columnType: "PgUUID";
396
+ data: string;
397
+ driverParam: string;
398
+ notNull: true;
399
+ hasDefault: false;
400
+ isPrimaryKey: false;
401
+ isAutoincrement: false;
402
+ hasRuntimeDefault: false;
403
+ enumValues: undefined;
404
+ baseColumn: never;
405
+ identity: undefined;
406
+ generated: undefined;
407
+ }, {}, {}>;
408
+ roleId: import("drizzle-orm/pg-core").PgColumn<{
409
+ name: "role_id";
410
+ tableName: "user_roles";
411
+ dataType: "string";
412
+ columnType: "PgVarchar";
413
+ data: string;
414
+ driverParam: string;
415
+ notNull: true;
416
+ hasDefault: false;
417
+ isPrimaryKey: false;
418
+ isAutoincrement: false;
419
+ hasRuntimeDefault: false;
420
+ enumValues: [string, ...string[]];
421
+ baseColumn: never;
422
+ identity: undefined;
423
+ generated: undefined;
424
+ }, {}, {
425
+ length: 50;
426
+ }>;
427
+ };
428
+ dialect: "pg";
429
+ }>;
430
+ /**
431
+ * Refresh tokens for long-lived sessions
432
+ */
433
+ export declare const refreshTokens: import("drizzle-orm/pg-core").PgTableWithColumns<{
434
+ name: "refresh_tokens";
435
+ schema: "rebase";
436
+ columns: {
437
+ id: import("drizzle-orm/pg-core").PgColumn<{
438
+ name: "id";
439
+ tableName: "refresh_tokens";
440
+ dataType: "string";
441
+ columnType: "PgUUID";
442
+ data: string;
443
+ driverParam: string;
444
+ notNull: true;
445
+ hasDefault: true;
446
+ isPrimaryKey: true;
447
+ isAutoincrement: false;
448
+ hasRuntimeDefault: false;
449
+ enumValues: undefined;
450
+ baseColumn: never;
451
+ identity: undefined;
452
+ generated: undefined;
453
+ }, {}, {}>;
454
+ userId: import("drizzle-orm/pg-core").PgColumn<{
455
+ name: "user_id";
456
+ tableName: "refresh_tokens";
457
+ dataType: "string";
458
+ columnType: "PgUUID";
459
+ data: string;
460
+ driverParam: string;
461
+ notNull: true;
462
+ hasDefault: false;
463
+ isPrimaryKey: false;
464
+ isAutoincrement: false;
465
+ hasRuntimeDefault: false;
466
+ enumValues: undefined;
467
+ baseColumn: never;
468
+ identity: undefined;
469
+ generated: undefined;
470
+ }, {}, {}>;
471
+ tokenHash: import("drizzle-orm/pg-core").PgColumn<{
472
+ name: "token_hash";
473
+ tableName: "refresh_tokens";
474
+ dataType: "string";
475
+ columnType: "PgVarchar";
476
+ data: string;
477
+ driverParam: string;
478
+ notNull: true;
479
+ hasDefault: false;
480
+ isPrimaryKey: false;
481
+ isAutoincrement: false;
482
+ hasRuntimeDefault: false;
483
+ enumValues: [string, ...string[]];
484
+ baseColumn: never;
485
+ identity: undefined;
486
+ generated: undefined;
487
+ }, {}, {
488
+ length: 255;
489
+ }>;
490
+ expiresAt: import("drizzle-orm/pg-core").PgColumn<{
491
+ name: "expires_at";
492
+ tableName: "refresh_tokens";
493
+ dataType: "date";
494
+ columnType: "PgTimestamp";
495
+ data: Date;
496
+ driverParam: string;
497
+ notNull: true;
498
+ hasDefault: false;
499
+ isPrimaryKey: false;
500
+ isAutoincrement: false;
501
+ hasRuntimeDefault: false;
502
+ enumValues: undefined;
503
+ baseColumn: never;
504
+ identity: undefined;
505
+ generated: undefined;
506
+ }, {}, {}>;
507
+ userAgent: import("drizzle-orm/pg-core").PgColumn<{
508
+ name: "user_agent";
509
+ tableName: "refresh_tokens";
510
+ dataType: "string";
511
+ columnType: "PgVarchar";
512
+ data: string;
513
+ driverParam: string;
514
+ notNull: false;
515
+ hasDefault: false;
516
+ isPrimaryKey: false;
517
+ isAutoincrement: false;
518
+ hasRuntimeDefault: false;
519
+ enumValues: [string, ...string[]];
520
+ baseColumn: never;
521
+ identity: undefined;
522
+ generated: undefined;
523
+ }, {}, {
524
+ length: 500;
525
+ }>;
526
+ ipAddress: import("drizzle-orm/pg-core").PgColumn<{
527
+ name: "ip_address";
528
+ tableName: "refresh_tokens";
529
+ dataType: "string";
530
+ columnType: "PgVarchar";
531
+ data: string;
532
+ driverParam: string;
533
+ notNull: false;
534
+ hasDefault: false;
535
+ isPrimaryKey: false;
536
+ isAutoincrement: false;
537
+ hasRuntimeDefault: false;
538
+ enumValues: [string, ...string[]];
539
+ baseColumn: never;
540
+ identity: undefined;
541
+ generated: undefined;
542
+ }, {}, {
543
+ length: 45;
544
+ }>;
545
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
546
+ name: "created_at";
547
+ tableName: "refresh_tokens";
548
+ dataType: "date";
549
+ columnType: "PgTimestamp";
550
+ data: Date;
551
+ driverParam: string;
552
+ notNull: true;
553
+ hasDefault: true;
554
+ isPrimaryKey: false;
555
+ isAutoincrement: false;
556
+ hasRuntimeDefault: false;
557
+ enumValues: undefined;
558
+ baseColumn: never;
559
+ identity: undefined;
560
+ generated: undefined;
561
+ }, {}, {}>;
562
+ };
563
+ dialect: "pg";
564
+ }>;
565
+ /**
566
+ * Password reset tokens for forgot password flow
567
+ */
568
+ export declare const passwordResetTokens: import("drizzle-orm/pg-core").PgTableWithColumns<{
569
+ name: "password_reset_tokens";
570
+ schema: "rebase";
571
+ columns: {
572
+ id: import("drizzle-orm/pg-core").PgColumn<{
573
+ name: "id";
574
+ tableName: "password_reset_tokens";
575
+ dataType: "string";
576
+ columnType: "PgUUID";
577
+ data: string;
578
+ driverParam: string;
579
+ notNull: true;
580
+ hasDefault: true;
581
+ isPrimaryKey: true;
582
+ isAutoincrement: false;
583
+ hasRuntimeDefault: false;
584
+ enumValues: undefined;
585
+ baseColumn: never;
586
+ identity: undefined;
587
+ generated: undefined;
588
+ }, {}, {}>;
589
+ userId: import("drizzle-orm/pg-core").PgColumn<{
590
+ name: "user_id";
591
+ tableName: "password_reset_tokens";
592
+ dataType: "string";
593
+ columnType: "PgUUID";
594
+ data: string;
595
+ driverParam: string;
596
+ notNull: true;
597
+ hasDefault: false;
598
+ isPrimaryKey: false;
599
+ isAutoincrement: false;
600
+ hasRuntimeDefault: false;
601
+ enumValues: undefined;
602
+ baseColumn: never;
603
+ identity: undefined;
604
+ generated: undefined;
605
+ }, {}, {}>;
606
+ tokenHash: import("drizzle-orm/pg-core").PgColumn<{
607
+ name: "token_hash";
608
+ tableName: "password_reset_tokens";
609
+ dataType: "string";
610
+ columnType: "PgVarchar";
611
+ data: string;
612
+ driverParam: string;
613
+ notNull: true;
614
+ hasDefault: false;
615
+ isPrimaryKey: false;
616
+ isAutoincrement: false;
617
+ hasRuntimeDefault: false;
618
+ enumValues: [string, ...string[]];
619
+ baseColumn: never;
620
+ identity: undefined;
621
+ generated: undefined;
622
+ }, {}, {
623
+ length: 255;
624
+ }>;
625
+ expiresAt: import("drizzle-orm/pg-core").PgColumn<{
626
+ name: "expires_at";
627
+ tableName: "password_reset_tokens";
628
+ dataType: "date";
629
+ columnType: "PgTimestamp";
630
+ data: Date;
631
+ driverParam: string;
632
+ notNull: true;
633
+ hasDefault: false;
634
+ isPrimaryKey: false;
635
+ isAutoincrement: false;
636
+ hasRuntimeDefault: false;
637
+ enumValues: undefined;
638
+ baseColumn: never;
639
+ identity: undefined;
640
+ generated: undefined;
641
+ }, {}, {}>;
642
+ usedAt: import("drizzle-orm/pg-core").PgColumn<{
643
+ name: "used_at";
644
+ tableName: "password_reset_tokens";
645
+ dataType: "date";
646
+ columnType: "PgTimestamp";
647
+ data: Date;
648
+ driverParam: string;
649
+ notNull: false;
650
+ hasDefault: false;
651
+ isPrimaryKey: false;
652
+ isAutoincrement: false;
653
+ hasRuntimeDefault: false;
654
+ enumValues: undefined;
655
+ baseColumn: never;
656
+ identity: undefined;
657
+ generated: undefined;
658
+ }, {}, {}>;
659
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
660
+ name: "created_at";
661
+ tableName: "password_reset_tokens";
662
+ dataType: "date";
663
+ columnType: "PgTimestamp";
664
+ data: Date;
665
+ driverParam: string;
666
+ notNull: true;
667
+ hasDefault: true;
668
+ isPrimaryKey: false;
669
+ isAutoincrement: false;
670
+ hasRuntimeDefault: false;
671
+ enumValues: undefined;
672
+ baseColumn: never;
673
+ identity: undefined;
674
+ generated: undefined;
675
+ }, {}, {}>;
676
+ };
677
+ dialect: "pg";
678
+ }>;
679
+ /**
680
+ * App config - key/value store for custom settings
681
+ */
682
+ export declare const appConfig: import("drizzle-orm/pg-core").PgTableWithColumns<{
683
+ name: "app_config";
684
+ schema: "rebase";
685
+ columns: {
686
+ key: import("drizzle-orm/pg-core").PgColumn<{
687
+ name: "key";
688
+ tableName: "app_config";
689
+ dataType: "string";
690
+ columnType: "PgVarchar";
691
+ data: string;
692
+ driverParam: string;
693
+ notNull: true;
694
+ hasDefault: false;
695
+ isPrimaryKey: true;
696
+ isAutoincrement: false;
697
+ hasRuntimeDefault: false;
698
+ enumValues: [string, ...string[]];
699
+ baseColumn: never;
700
+ identity: undefined;
701
+ generated: undefined;
702
+ }, {}, {
703
+ length: 100;
704
+ }>;
705
+ value: import("drizzle-orm/pg-core").PgColumn<{
706
+ name: "value";
707
+ tableName: "app_config";
708
+ dataType: "json";
709
+ columnType: "PgJsonb";
710
+ data: unknown;
711
+ driverParam: unknown;
712
+ notNull: true;
713
+ hasDefault: false;
714
+ isPrimaryKey: false;
715
+ isAutoincrement: false;
716
+ hasRuntimeDefault: false;
717
+ enumValues: undefined;
718
+ baseColumn: never;
719
+ identity: undefined;
720
+ generated: undefined;
721
+ }, {}, {}>;
722
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
723
+ name: "updated_at";
724
+ tableName: "app_config";
725
+ dataType: "date";
726
+ columnType: "PgTimestamp";
727
+ data: Date;
728
+ driverParam: string;
729
+ notNull: true;
730
+ hasDefault: true;
731
+ isPrimaryKey: false;
732
+ isAutoincrement: false;
733
+ hasRuntimeDefault: false;
734
+ enumValues: undefined;
735
+ baseColumn: never;
736
+ identity: undefined;
737
+ generated: undefined;
738
+ }, {}, {}>;
739
+ };
740
+ dialect: "pg";
741
+ }>;
742
+ export declare const usersRelations: import("drizzle-orm").Relations<"users", {
743
+ userRoles: import("drizzle-orm").Many<"user_roles">;
744
+ refreshTokens: import("drizzle-orm").Many<"refresh_tokens">;
745
+ passwordResetTokens: import("drizzle-orm").Many<"password_reset_tokens">;
746
+ }>;
747
+ export declare const rolesRelations: import("drizzle-orm").Relations<"roles", {
748
+ userRoles: import("drizzle-orm").Many<"user_roles">;
749
+ }>;
750
+ export declare const userRolesRelations: import("drizzle-orm").Relations<"user_roles", {
751
+ user: import("drizzle-orm").One<"users", true>;
752
+ role: import("drizzle-orm").One<"roles", true>;
753
+ }>;
754
+ export declare const refreshTokensRelations: import("drizzle-orm").Relations<"refresh_tokens", {
755
+ user: import("drizzle-orm").One<"users", true>;
756
+ }>;
757
+ export declare const passwordResetTokensRelations: import("drizzle-orm").Relations<"password_reset_tokens", {
758
+ user: import("drizzle-orm").One<"users", true>;
759
+ }>;
760
+ export type User = typeof users.$inferSelect;
761
+ export type NewUser = typeof users.$inferInsert;
762
+ export type Role = typeof roles.$inferSelect;
763
+ export type NewRole = typeof roles.$inferInsert;
764
+ export type UserRole = typeof userRoles.$inferSelect;
765
+ export type RefreshToken = typeof refreshTokens.$inferSelect;
766
+ export type PasswordResetToken = typeof passwordResetTokens.$inferSelect;
767
+ export type AppConfig = typeof appConfig.$inferSelect;