@rebasepro/server-postgresql 0.0.1-canary.09e5ec5

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 (196) 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 +56 -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 +58 -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 +22 -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 +11298 -0
  26. package/dist/index.es.js.map +1 -0
  27. package/dist/index.umd.js +11306 -0
  28. package/dist/index.umd.js.map +1 -0
  29. package/dist/server-postgresql/src/PostgresBackendDriver.d.ts +100 -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 +192 -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 +40 -0
  36. package/dist/server-postgresql/src/data-transformer.d.ts +58 -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 +868 -0
  43. package/dist/server-postgresql/src/schema/doctor-cli.d.ts +2 -0
  44. package/dist/server-postgresql/src/schema/doctor.d.ts +43 -0
  45. package/dist/server-postgresql/src/schema/generate-drizzle-schema-logic.d.ts +2 -0
  46. package/dist/server-postgresql/src/schema/generate-drizzle-schema.d.ts +1 -0
  47. package/dist/server-postgresql/src/schema/introspect-db-logic.d.ts +82 -0
  48. package/dist/server-postgresql/src/schema/introspect-db.d.ts +1 -0
  49. package/dist/server-postgresql/src/schema/test-schema.d.ts +24 -0
  50. package/dist/server-postgresql/src/services/BranchService.d.ts +47 -0
  51. package/dist/server-postgresql/src/services/EntityFetchService.d.ts +209 -0
  52. package/dist/server-postgresql/src/services/EntityPersistService.d.ts +41 -0
  53. package/dist/server-postgresql/src/services/RelationService.d.ts +98 -0
  54. package/dist/server-postgresql/src/services/entity-helpers.d.ts +38 -0
  55. package/dist/server-postgresql/src/services/entityService.d.ts +104 -0
  56. package/dist/server-postgresql/src/services/index.d.ts +4 -0
  57. package/dist/server-postgresql/src/services/realtimeService.d.ts +188 -0
  58. package/dist/server-postgresql/src/utils/drizzle-conditions.d.ts +116 -0
  59. package/dist/server-postgresql/src/websocket.d.ts +5 -0
  60. package/dist/types/src/controllers/analytics_controller.d.ts +7 -0
  61. package/dist/types/src/controllers/auth.d.ts +119 -0
  62. package/dist/types/src/controllers/client.d.ts +170 -0
  63. package/dist/types/src/controllers/collection_registry.d.ts +45 -0
  64. package/dist/types/src/controllers/customization_controller.d.ts +60 -0
  65. package/dist/types/src/controllers/data.d.ts +168 -0
  66. package/dist/types/src/controllers/data_driver.d.ts +160 -0
  67. package/dist/types/src/controllers/database_admin.d.ts +11 -0
  68. package/dist/types/src/controllers/dialogs_controller.d.ts +36 -0
  69. package/dist/types/src/controllers/effective_role.d.ts +4 -0
  70. package/dist/types/src/controllers/email.d.ts +34 -0
  71. package/dist/types/src/controllers/index.d.ts +18 -0
  72. package/dist/types/src/controllers/local_config_persistence.d.ts +20 -0
  73. package/dist/types/src/controllers/navigation.d.ts +213 -0
  74. package/dist/types/src/controllers/registry.d.ts +54 -0
  75. package/dist/types/src/controllers/side_dialogs_controller.d.ts +67 -0
  76. package/dist/types/src/controllers/side_entity_controller.d.ts +90 -0
  77. package/dist/types/src/controllers/snackbar.d.ts +24 -0
  78. package/dist/types/src/controllers/storage.d.ts +171 -0
  79. package/dist/types/src/index.d.ts +4 -0
  80. package/dist/types/src/rebase_context.d.ts +105 -0
  81. package/dist/types/src/types/backend.d.ts +536 -0
  82. package/dist/types/src/types/builders.d.ts +15 -0
  83. package/dist/types/src/types/chips.d.ts +5 -0
  84. package/dist/types/src/types/collections.d.ts +856 -0
  85. package/dist/types/src/types/cron.d.ts +102 -0
  86. package/dist/types/src/types/data_source.d.ts +64 -0
  87. package/dist/types/src/types/entities.d.ts +145 -0
  88. package/dist/types/src/types/entity_actions.d.ts +98 -0
  89. package/dist/types/src/types/entity_callbacks.d.ts +173 -0
  90. package/dist/types/src/types/entity_link_builder.d.ts +7 -0
  91. package/dist/types/src/types/entity_overrides.d.ts +10 -0
  92. package/dist/types/src/types/entity_views.d.ts +61 -0
  93. package/dist/types/src/types/export_import.d.ts +21 -0
  94. package/dist/types/src/types/index.d.ts +23 -0
  95. package/dist/types/src/types/locales.d.ts +4 -0
  96. package/dist/types/src/types/modify_collections.d.ts +5 -0
  97. package/dist/types/src/types/plugins.d.ts +279 -0
  98. package/dist/types/src/types/properties.d.ts +1176 -0
  99. package/dist/types/src/types/property_config.d.ts +70 -0
  100. package/dist/types/src/types/relations.d.ts +336 -0
  101. package/dist/types/src/types/slots.d.ts +252 -0
  102. package/dist/types/src/types/translations.d.ts +870 -0
  103. package/dist/types/src/types/user_management_delegate.d.ts +121 -0
  104. package/dist/types/src/types/websockets.d.ts +78 -0
  105. package/dist/types/src/users/index.d.ts +2 -0
  106. package/dist/types/src/users/roles.d.ts +22 -0
  107. package/dist/types/src/users/user.d.ts +46 -0
  108. package/drizzle-test/0000_woozy_junta.sql +6 -0
  109. package/drizzle-test/0001_youthful_arachne.sql +1 -0
  110. package/drizzle-test/0002_lively_dragon_lord.sql +2 -0
  111. package/drizzle-test/0003_mean_king_cobra.sql +2 -0
  112. package/drizzle-test/meta/0000_snapshot.json +47 -0
  113. package/drizzle-test/meta/0001_snapshot.json +48 -0
  114. package/drizzle-test/meta/0002_snapshot.json +38 -0
  115. package/drizzle-test/meta/0003_snapshot.json +48 -0
  116. package/drizzle-test/meta/_journal.json +34 -0
  117. package/drizzle-test-out/0000_tan_trauma.sql +6 -0
  118. package/drizzle-test-out/0001_rapid_drax.sql +1 -0
  119. package/drizzle-test-out/meta/0000_snapshot.json +44 -0
  120. package/drizzle-test-out/meta/0001_snapshot.json +54 -0
  121. package/drizzle-test-out/meta/_journal.json +20 -0
  122. package/drizzle.test.config.ts +10 -0
  123. package/jest-all.log +3128 -0
  124. package/jest.log +49 -0
  125. package/package.json +92 -0
  126. package/scratch.ts +41 -0
  127. package/src/PostgresBackendDriver.ts +1008 -0
  128. package/src/PostgresBootstrapper.ts +231 -0
  129. package/src/auth/ensure-tables.ts +381 -0
  130. package/src/auth/services.ts +799 -0
  131. package/src/cli.ts +648 -0
  132. package/src/collections/PostgresCollectionRegistry.ts +96 -0
  133. package/src/connection.ts +84 -0
  134. package/src/data-transformer.ts +608 -0
  135. package/src/databasePoolManager.ts +85 -0
  136. package/src/history/HistoryService.ts +248 -0
  137. package/src/history/ensure-history-table.ts +45 -0
  138. package/src/index.ts +13 -0
  139. package/src/interfaces.ts +60 -0
  140. package/src/schema/auth-schema.ts +169 -0
  141. package/src/schema/doctor-cli.ts +47 -0
  142. package/src/schema/doctor.ts +595 -0
  143. package/src/schema/generate-drizzle-schema-logic.ts +765 -0
  144. package/src/schema/generate-drizzle-schema.ts +151 -0
  145. package/src/schema/introspect-db-logic.ts +542 -0
  146. package/src/schema/introspect-db.ts +211 -0
  147. package/src/schema/test-schema.ts +11 -0
  148. package/src/services/BranchService.ts +237 -0
  149. package/src/services/EntityFetchService.ts +1576 -0
  150. package/src/services/EntityPersistService.ts +349 -0
  151. package/src/services/RelationService.ts +1274 -0
  152. package/src/services/entity-helpers.ts +147 -0
  153. package/src/services/entityService.ts +211 -0
  154. package/src/services/index.ts +13 -0
  155. package/src/services/realtimeService.ts +1034 -0
  156. package/src/utils/drizzle-conditions.ts +1000 -0
  157. package/src/websocket.ts +518 -0
  158. package/test/auth-services.test.ts +661 -0
  159. package/test/batch-many-to-many-regression.test.ts +573 -0
  160. package/test/branchService.test.ts +367 -0
  161. package/test/data-transformer-hardening.test.ts +417 -0
  162. package/test/data-transformer.test.ts +175 -0
  163. package/test/doctor.test.ts +182 -0
  164. package/test/drizzle-conditions.test.ts +895 -0
  165. package/test/entityService.errors.test.ts +367 -0
  166. package/test/entityService.relations.test.ts +1008 -0
  167. package/test/entityService.subcollection-search.test.ts +566 -0
  168. package/test/entityService.test.ts +1035 -0
  169. package/test/generate-drizzle-schema.test.ts +988 -0
  170. package/test/historyService.test.ts +141 -0
  171. package/test/introspect-db-generation.test.ts +436 -0
  172. package/test/introspect-db-utils.test.ts +389 -0
  173. package/test/n-plus-one-regression.test.ts +314 -0
  174. package/test/postgresDataDriver.test.ts +648 -0
  175. package/test/realtimeService.test.ts +307 -0
  176. package/test/relation-pipeline-gaps.test.ts +637 -0
  177. package/test/relations.test.ts +1115 -0
  178. package/test/unmapped-tables-safety.test.ts +345 -0
  179. package/test-drizzle-bug.ts +18 -0
  180. package/test-drizzle-out/0000_cultured_freak.sql +7 -0
  181. package/test-drizzle-out/0001_tiresome_professor_monster.sql +1 -0
  182. package/test-drizzle-out/meta/0000_snapshot.json +55 -0
  183. package/test-drizzle-out/meta/0001_snapshot.json +63 -0
  184. package/test-drizzle-out/meta/_journal.json +20 -0
  185. package/test-drizzle-prompt.sh +2 -0
  186. package/test-policy-prompt.sh +3 -0
  187. package/test-programmatic.ts +30 -0
  188. package/test-programmatic2.ts +59 -0
  189. package/test-schema-no-policies.ts +12 -0
  190. package/test_drizzle_mock.js +3 -0
  191. package/test_find_changed.mjs +32 -0
  192. package/test_hash.js +14 -0
  193. package/test_output.txt +3145 -0
  194. package/tsconfig.json +49 -0
  195. package/tsconfig.prod.json +20 -0
  196. package/vite.config.ts +82 -0
@@ -0,0 +1,868 @@
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>;
858
+ }>;
859
+ export type User = typeof users.$inferSelect;
860
+ export type NewUser = typeof users.$inferInsert;
861
+ export type Role = typeof roles.$inferSelect;
862
+ export type NewRole = typeof roles.$inferInsert;
863
+ export type UserRole = typeof userRoles.$inferSelect;
864
+ export type RefreshToken = typeof refreshTokens.$inferSelect;
865
+ export type PasswordResetToken = typeof passwordResetTokens.$inferSelect;
866
+ export type AppConfig = typeof appConfig.$inferSelect;
867
+ export type UserIdentity = typeof userIdentities.$inferSelect;
868
+ export type NewUserIdentity = typeof userIdentities.$inferInsert;