@hachej/boring-core 0.1.0

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 (52) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +83 -0
  3. package/dist/CoreFront-CDeLdfb0.d.ts +19 -0
  4. package/dist/app/front/index.d.ts +18 -0
  5. package/dist/app/front/index.js +162 -0
  6. package/dist/app/front/styles.css +6 -0
  7. package/dist/app/server/index.d.ts +96 -0
  8. package/dist/app/server/index.js +507 -0
  9. package/dist/app/vite/index.d.ts +10 -0
  10. package/dist/app/vite/index.js +33 -0
  11. package/dist/authHook-vsRhOvnh.d.ts +38 -0
  12. package/dist/chunk-CZ4HIXII.js +2869 -0
  13. package/dist/chunk-H5KU6R6Y.js +68 -0
  14. package/dist/chunk-HSRBZLKT.js +1684 -0
  15. package/dist/chunk-HYNKZSTF.js +18 -0
  16. package/dist/chunk-MLKGABMK.js +9 -0
  17. package/dist/chunk-VTOS4C7B.js +3443 -0
  18. package/dist/connection-CE7z-wBp.d.ts +145 -0
  19. package/dist/front/index.d.ts +458 -0
  20. package/dist/front/index.js +126 -0
  21. package/dist/front/theme.css +168 -0
  22. package/dist/front/top-bar-slot.d.ts +10 -0
  23. package/dist/front/top-bar-slot.js +9 -0
  24. package/dist/index-COZa03RP.d.ts +266 -0
  25. package/dist/migrate-D49JsATX.d.ts +8 -0
  26. package/dist/server/db/index.d.ts +209 -0
  27. package/dist/server/db/index.js +18 -0
  28. package/dist/server/index.d.ts +395 -0
  29. package/dist/server/index.js +136 -0
  30. package/dist/shared/index.d.ts +1 -0
  31. package/dist/shared/index.js +13 -0
  32. package/drizzle/.gitkeep +0 -0
  33. package/drizzle/0000_easy_meggan.sql +53 -0
  34. package/drizzle/0001_groovy_smiling_tiger.sql +14 -0
  35. package/drizzle/0002_busy_iron_man.sql +16 -0
  36. package/drizzle/0003_aspiring_richard_fisk.sql +12 -0
  37. package/drizzle/0004_heavy_lenny_balinger.sql +9 -0
  38. package/drizzle/0005_flimsy_mastermind.sql +17 -0
  39. package/drizzle/0006_happy_callisto.sql +13 -0
  40. package/drizzle/0007_v7_substrate.sql +54 -0
  41. package/drizzle/0008_workspace_sandbox_handles.sql +32 -0
  42. package/drizzle/0009_workspace_runtime_resources.sql +39 -0
  43. package/drizzle/meta/0000_snapshot.json +380 -0
  44. package/drizzle/meta/0001_snapshot.json +471 -0
  45. package/drizzle/meta/0002_snapshot.json +599 -0
  46. package/drizzle/meta/0003_snapshot.json +693 -0
  47. package/drizzle/meta/0004_snapshot.json +753 -0
  48. package/drizzle/meta/0005_snapshot.json +886 -0
  49. package/drizzle/meta/0006_snapshot.json +968 -0
  50. package/drizzle/meta/_journal.json +76 -0
  51. package/drizzle/schema.ts +110 -0
  52. package/package.json +127 -0
@@ -0,0 +1,968 @@
1
+ {
2
+ "id": "2420d548-e6d9-4ce1-b107-4380e14372e8",
3
+ "prevId": "bfc1d5bf-4f24-4e48-b22a-a02d52b473ba",
4
+ "version": "7",
5
+ "dialect": "postgresql",
6
+ "tables": {
7
+ "public.user_settings": {
8
+ "name": "user_settings",
9
+ "schema": "",
10
+ "columns": {
11
+ "user_id": {
12
+ "name": "user_id",
13
+ "type": "uuid",
14
+ "primaryKey": false,
15
+ "notNull": true
16
+ },
17
+ "app_id": {
18
+ "name": "app_id",
19
+ "type": "text",
20
+ "primaryKey": false,
21
+ "notNull": true
22
+ },
23
+ "display_name": {
24
+ "name": "display_name",
25
+ "type": "text",
26
+ "primaryKey": false,
27
+ "notNull": true,
28
+ "default": "''"
29
+ },
30
+ "email": {
31
+ "name": "email",
32
+ "type": "text",
33
+ "primaryKey": false,
34
+ "notNull": true,
35
+ "default": "''"
36
+ },
37
+ "settings": {
38
+ "name": "settings",
39
+ "type": "jsonb",
40
+ "primaryKey": false,
41
+ "notNull": true,
42
+ "default": "'{}'::jsonb"
43
+ },
44
+ "updated_at": {
45
+ "name": "updated_at",
46
+ "type": "timestamp",
47
+ "primaryKey": false,
48
+ "notNull": true,
49
+ "default": "now()"
50
+ }
51
+ },
52
+ "indexes": {
53
+ "user_settings_user_id_idx": {
54
+ "name": "user_settings_user_id_idx",
55
+ "columns": [
56
+ {
57
+ "expression": "user_id",
58
+ "isExpression": false,
59
+ "asc": true,
60
+ "nulls": "last"
61
+ }
62
+ ],
63
+ "isUnique": false,
64
+ "concurrently": false,
65
+ "method": "btree",
66
+ "with": {}
67
+ }
68
+ },
69
+ "foreignKeys": {
70
+ "user_settings_user_id_users_id_fk": {
71
+ "name": "user_settings_user_id_users_id_fk",
72
+ "tableFrom": "user_settings",
73
+ "tableTo": "users",
74
+ "columnsFrom": [
75
+ "user_id"
76
+ ],
77
+ "columnsTo": [
78
+ "id"
79
+ ],
80
+ "onDelete": "cascade",
81
+ "onUpdate": "no action"
82
+ }
83
+ },
84
+ "compositePrimaryKeys": {
85
+ "user_settings_user_id_app_id_pk": {
86
+ "name": "user_settings_user_id_app_id_pk",
87
+ "columns": [
88
+ "user_id",
89
+ "app_id"
90
+ ]
91
+ }
92
+ },
93
+ "uniqueConstraints": {},
94
+ "policies": {},
95
+ "checkConstraints": {},
96
+ "isRLSEnabled": false
97
+ },
98
+ "public.workspace_invites": {
99
+ "name": "workspace_invites",
100
+ "schema": "",
101
+ "columns": {
102
+ "id": {
103
+ "name": "id",
104
+ "type": "uuid",
105
+ "primaryKey": true,
106
+ "notNull": true,
107
+ "default": "gen_random_uuid()"
108
+ },
109
+ "workspace_id": {
110
+ "name": "workspace_id",
111
+ "type": "uuid",
112
+ "primaryKey": false,
113
+ "notNull": true
114
+ },
115
+ "email": {
116
+ "name": "email",
117
+ "type": "text",
118
+ "primaryKey": false,
119
+ "notNull": true
120
+ },
121
+ "token_hash": {
122
+ "name": "token_hash",
123
+ "type": "text",
124
+ "primaryKey": false,
125
+ "notNull": true
126
+ },
127
+ "role": {
128
+ "name": "role",
129
+ "type": "text",
130
+ "primaryKey": false,
131
+ "notNull": true
132
+ },
133
+ "expires_at": {
134
+ "name": "expires_at",
135
+ "type": "timestamp",
136
+ "primaryKey": false,
137
+ "notNull": true,
138
+ "default": "now() + interval '7 days'"
139
+ },
140
+ "accepted_at": {
141
+ "name": "accepted_at",
142
+ "type": "timestamp",
143
+ "primaryKey": false,
144
+ "notNull": false
145
+ },
146
+ "created_by": {
147
+ "name": "created_by",
148
+ "type": "uuid",
149
+ "primaryKey": false,
150
+ "notNull": false
151
+ },
152
+ "created_at": {
153
+ "name": "created_at",
154
+ "type": "timestamp",
155
+ "primaryKey": false,
156
+ "notNull": true,
157
+ "default": "now()"
158
+ }
159
+ },
160
+ "indexes": {
161
+ "workspace_invites_token_hash_idx": {
162
+ "name": "workspace_invites_token_hash_idx",
163
+ "columns": [
164
+ {
165
+ "expression": "token_hash",
166
+ "isExpression": false,
167
+ "asc": true,
168
+ "nulls": "last"
169
+ }
170
+ ],
171
+ "isUnique": true,
172
+ "concurrently": false,
173
+ "method": "btree",
174
+ "with": {}
175
+ },
176
+ "workspace_invites_workspace_id_idx": {
177
+ "name": "workspace_invites_workspace_id_idx",
178
+ "columns": [
179
+ {
180
+ "expression": "workspace_id",
181
+ "isExpression": false,
182
+ "asc": true,
183
+ "nulls": "last"
184
+ }
185
+ ],
186
+ "isUnique": false,
187
+ "concurrently": false,
188
+ "method": "btree",
189
+ "with": {}
190
+ }
191
+ },
192
+ "foreignKeys": {
193
+ "workspace_invites_workspace_id_workspaces_id_fk": {
194
+ "name": "workspace_invites_workspace_id_workspaces_id_fk",
195
+ "tableFrom": "workspace_invites",
196
+ "tableTo": "workspaces",
197
+ "columnsFrom": [
198
+ "workspace_id"
199
+ ],
200
+ "columnsTo": [
201
+ "id"
202
+ ],
203
+ "onDelete": "no action",
204
+ "onUpdate": "no action"
205
+ },
206
+ "workspace_invites_created_by_users_id_fk": {
207
+ "name": "workspace_invites_created_by_users_id_fk",
208
+ "tableFrom": "workspace_invites",
209
+ "tableTo": "users",
210
+ "columnsFrom": [
211
+ "created_by"
212
+ ],
213
+ "columnsTo": [
214
+ "id"
215
+ ],
216
+ "onDelete": "restrict",
217
+ "onUpdate": "no action"
218
+ }
219
+ },
220
+ "compositePrimaryKeys": {},
221
+ "uniqueConstraints": {},
222
+ "policies": {},
223
+ "checkConstraints": {
224
+ "workspace_invites_role_check": {
225
+ "name": "workspace_invites_role_check",
226
+ "value": "\"workspace_invites\".\"role\" IN ('owner', 'editor', 'viewer')"
227
+ }
228
+ },
229
+ "isRLSEnabled": false
230
+ },
231
+ "public.workspace_members": {
232
+ "name": "workspace_members",
233
+ "schema": "",
234
+ "columns": {
235
+ "workspace_id": {
236
+ "name": "workspace_id",
237
+ "type": "uuid",
238
+ "primaryKey": false,
239
+ "notNull": true
240
+ },
241
+ "user_id": {
242
+ "name": "user_id",
243
+ "type": "uuid",
244
+ "primaryKey": false,
245
+ "notNull": true
246
+ },
247
+ "role": {
248
+ "name": "role",
249
+ "type": "text",
250
+ "primaryKey": false,
251
+ "notNull": true
252
+ },
253
+ "created_at": {
254
+ "name": "created_at",
255
+ "type": "timestamp",
256
+ "primaryKey": false,
257
+ "notNull": true,
258
+ "default": "now()"
259
+ }
260
+ },
261
+ "indexes": {
262
+ "workspace_members_user_id_idx": {
263
+ "name": "workspace_members_user_id_idx",
264
+ "columns": [
265
+ {
266
+ "expression": "user_id",
267
+ "isExpression": false,
268
+ "asc": true,
269
+ "nulls": "last"
270
+ }
271
+ ],
272
+ "isUnique": false,
273
+ "concurrently": false,
274
+ "method": "btree",
275
+ "with": {}
276
+ }
277
+ },
278
+ "foreignKeys": {
279
+ "workspace_members_workspace_id_workspaces_id_fk": {
280
+ "name": "workspace_members_workspace_id_workspaces_id_fk",
281
+ "tableFrom": "workspace_members",
282
+ "tableTo": "workspaces",
283
+ "columnsFrom": [
284
+ "workspace_id"
285
+ ],
286
+ "columnsTo": [
287
+ "id"
288
+ ],
289
+ "onDelete": "no action",
290
+ "onUpdate": "no action"
291
+ },
292
+ "workspace_members_user_id_users_id_fk": {
293
+ "name": "workspace_members_user_id_users_id_fk",
294
+ "tableFrom": "workspace_members",
295
+ "tableTo": "users",
296
+ "columnsFrom": [
297
+ "user_id"
298
+ ],
299
+ "columnsTo": [
300
+ "id"
301
+ ],
302
+ "onDelete": "restrict",
303
+ "onUpdate": "no action"
304
+ }
305
+ },
306
+ "compositePrimaryKeys": {
307
+ "workspace_members_workspace_id_user_id_pk": {
308
+ "name": "workspace_members_workspace_id_user_id_pk",
309
+ "columns": [
310
+ "workspace_id",
311
+ "user_id"
312
+ ]
313
+ }
314
+ },
315
+ "uniqueConstraints": {},
316
+ "policies": {},
317
+ "checkConstraints": {
318
+ "workspace_members_role_check": {
319
+ "name": "workspace_members_role_check",
320
+ "value": "\"workspace_members\".\"role\" IN ('owner', 'editor', 'viewer')"
321
+ }
322
+ },
323
+ "isRLSEnabled": false
324
+ },
325
+ "public.workspace_runtimes": {
326
+ "name": "workspace_runtimes",
327
+ "schema": "",
328
+ "columns": {
329
+ "workspace_id": {
330
+ "name": "workspace_id",
331
+ "type": "uuid",
332
+ "primaryKey": true,
333
+ "notNull": true
334
+ },
335
+ "sprite_url": {
336
+ "name": "sprite_url",
337
+ "type": "text",
338
+ "primaryKey": false,
339
+ "notNull": false
340
+ },
341
+ "sprite_name": {
342
+ "name": "sprite_name",
343
+ "type": "text",
344
+ "primaryKey": false,
345
+ "notNull": false
346
+ },
347
+ "state": {
348
+ "name": "state",
349
+ "type": "text",
350
+ "primaryKey": false,
351
+ "notNull": true,
352
+ "default": "'pending'"
353
+ },
354
+ "last_error": {
355
+ "name": "last_error",
356
+ "type": "text",
357
+ "primaryKey": false,
358
+ "notNull": false
359
+ },
360
+ "updated_at": {
361
+ "name": "updated_at",
362
+ "type": "timestamp",
363
+ "primaryKey": false,
364
+ "notNull": true,
365
+ "default": "now()"
366
+ },
367
+ "provisioning_step": {
368
+ "name": "provisioning_step",
369
+ "type": "text",
370
+ "primaryKey": false,
371
+ "notNull": false
372
+ },
373
+ "step_started_at": {
374
+ "name": "step_started_at",
375
+ "type": "timestamp",
376
+ "primaryKey": false,
377
+ "notNull": false
378
+ }
379
+ },
380
+ "indexes": {},
381
+ "foreignKeys": {
382
+ "workspace_runtimes_workspace_id_workspaces_id_fk": {
383
+ "name": "workspace_runtimes_workspace_id_workspaces_id_fk",
384
+ "tableFrom": "workspace_runtimes",
385
+ "tableTo": "workspaces",
386
+ "columnsFrom": [
387
+ "workspace_id"
388
+ ],
389
+ "columnsTo": [
390
+ "id"
391
+ ],
392
+ "onDelete": "no action",
393
+ "onUpdate": "no action"
394
+ }
395
+ },
396
+ "compositePrimaryKeys": {},
397
+ "uniqueConstraints": {},
398
+ "policies": {},
399
+ "checkConstraints": {
400
+ "workspace_runtimes_state_check": {
401
+ "name": "workspace_runtimes_state_check",
402
+ "value": "\"workspace_runtimes\".\"state\" IN ('pending', 'provisioning', 'ready', 'error')"
403
+ }
404
+ },
405
+ "isRLSEnabled": false
406
+ },
407
+ "public.workspace_settings": {
408
+ "name": "workspace_settings",
409
+ "schema": "",
410
+ "columns": {
411
+ "workspace_id": {
412
+ "name": "workspace_id",
413
+ "type": "uuid",
414
+ "primaryKey": false,
415
+ "notNull": true
416
+ },
417
+ "key": {
418
+ "name": "key",
419
+ "type": "text",
420
+ "primaryKey": false,
421
+ "notNull": true
422
+ },
423
+ "value": {
424
+ "name": "value",
425
+ "type": "bytea",
426
+ "primaryKey": false,
427
+ "notNull": true
428
+ },
429
+ "updated_at": {
430
+ "name": "updated_at",
431
+ "type": "timestamp",
432
+ "primaryKey": false,
433
+ "notNull": true,
434
+ "default": "now()"
435
+ }
436
+ },
437
+ "indexes": {},
438
+ "foreignKeys": {
439
+ "workspace_settings_workspace_id_workspaces_id_fk": {
440
+ "name": "workspace_settings_workspace_id_workspaces_id_fk",
441
+ "tableFrom": "workspace_settings",
442
+ "tableTo": "workspaces",
443
+ "columnsFrom": [
444
+ "workspace_id"
445
+ ],
446
+ "columnsTo": [
447
+ "id"
448
+ ],
449
+ "onDelete": "no action",
450
+ "onUpdate": "no action"
451
+ }
452
+ },
453
+ "compositePrimaryKeys": {
454
+ "workspace_settings_workspace_id_key_pk": {
455
+ "name": "workspace_settings_workspace_id_key_pk",
456
+ "columns": [
457
+ "workspace_id",
458
+ "key"
459
+ ]
460
+ }
461
+ },
462
+ "uniqueConstraints": {},
463
+ "policies": {},
464
+ "checkConstraints": {},
465
+ "isRLSEnabled": false
466
+ },
467
+ "public.workspaces": {
468
+ "name": "workspaces",
469
+ "schema": "",
470
+ "columns": {
471
+ "id": {
472
+ "name": "id",
473
+ "type": "uuid",
474
+ "primaryKey": true,
475
+ "notNull": true,
476
+ "default": "gen_random_uuid()"
477
+ },
478
+ "app_id": {
479
+ "name": "app_id",
480
+ "type": "text",
481
+ "primaryKey": false,
482
+ "notNull": true
483
+ },
484
+ "name": {
485
+ "name": "name",
486
+ "type": "text",
487
+ "primaryKey": false,
488
+ "notNull": true
489
+ },
490
+ "created_by": {
491
+ "name": "created_by",
492
+ "type": "uuid",
493
+ "primaryKey": false,
494
+ "notNull": true
495
+ },
496
+ "created_at": {
497
+ "name": "created_at",
498
+ "type": "timestamp",
499
+ "primaryKey": false,
500
+ "notNull": true,
501
+ "default": "now()"
502
+ },
503
+ "deleted_at": {
504
+ "name": "deleted_at",
505
+ "type": "timestamp",
506
+ "primaryKey": false,
507
+ "notNull": false
508
+ },
509
+ "is_default": {
510
+ "name": "is_default",
511
+ "type": "boolean",
512
+ "primaryKey": false,
513
+ "notNull": true,
514
+ "default": false
515
+ },
516
+ "machine_id": {
517
+ "name": "machine_id",
518
+ "type": "text",
519
+ "primaryKey": false,
520
+ "notNull": false
521
+ },
522
+ "volume_id": {
523
+ "name": "volume_id",
524
+ "type": "text",
525
+ "primaryKey": false,
526
+ "notNull": false
527
+ },
528
+ "fly_region": {
529
+ "name": "fly_region",
530
+ "type": "text",
531
+ "primaryKey": false,
532
+ "notNull": false
533
+ }
534
+ },
535
+ "indexes": {
536
+ "workspaces_created_by_idx": {
537
+ "name": "workspaces_created_by_idx",
538
+ "columns": [
539
+ {
540
+ "expression": "created_by",
541
+ "isExpression": false,
542
+ "asc": true,
543
+ "nulls": "last"
544
+ }
545
+ ],
546
+ "isUnique": false,
547
+ "concurrently": false,
548
+ "method": "btree",
549
+ "with": {}
550
+ },
551
+ "idx_workspaces_default_per_user_app": {
552
+ "name": "idx_workspaces_default_per_user_app",
553
+ "columns": [
554
+ {
555
+ "expression": "created_by",
556
+ "isExpression": false,
557
+ "asc": true,
558
+ "nulls": "last"
559
+ },
560
+ {
561
+ "expression": "app_id",
562
+ "isExpression": false,
563
+ "asc": true,
564
+ "nulls": "last"
565
+ }
566
+ ],
567
+ "isUnique": true,
568
+ "where": "\"workspaces\".\"is_default\" = true",
569
+ "concurrently": false,
570
+ "method": "btree",
571
+ "with": {}
572
+ }
573
+ },
574
+ "foreignKeys": {
575
+ "workspaces_created_by_users_id_fk": {
576
+ "name": "workspaces_created_by_users_id_fk",
577
+ "tableFrom": "workspaces",
578
+ "tableTo": "users",
579
+ "columnsFrom": [
580
+ "created_by"
581
+ ],
582
+ "columnsTo": [
583
+ "id"
584
+ ],
585
+ "onDelete": "no action",
586
+ "onUpdate": "no action"
587
+ }
588
+ },
589
+ "compositePrimaryKeys": {},
590
+ "uniqueConstraints": {},
591
+ "policies": {},
592
+ "checkConstraints": {},
593
+ "isRLSEnabled": false
594
+ },
595
+ "public.accounts": {
596
+ "name": "accounts",
597
+ "schema": "",
598
+ "columns": {
599
+ "id": {
600
+ "name": "id",
601
+ "type": "uuid",
602
+ "primaryKey": true,
603
+ "notNull": true,
604
+ "default": "pg_catalog.gen_random_uuid()"
605
+ },
606
+ "account_id": {
607
+ "name": "account_id",
608
+ "type": "text",
609
+ "primaryKey": false,
610
+ "notNull": true
611
+ },
612
+ "provider_id": {
613
+ "name": "provider_id",
614
+ "type": "text",
615
+ "primaryKey": false,
616
+ "notNull": true
617
+ },
618
+ "user_id": {
619
+ "name": "user_id",
620
+ "type": "uuid",
621
+ "primaryKey": false,
622
+ "notNull": true
623
+ },
624
+ "access_token": {
625
+ "name": "access_token",
626
+ "type": "text",
627
+ "primaryKey": false,
628
+ "notNull": false
629
+ },
630
+ "refresh_token": {
631
+ "name": "refresh_token",
632
+ "type": "text",
633
+ "primaryKey": false,
634
+ "notNull": false
635
+ },
636
+ "id_token": {
637
+ "name": "id_token",
638
+ "type": "text",
639
+ "primaryKey": false,
640
+ "notNull": false
641
+ },
642
+ "access_token_expires_at": {
643
+ "name": "access_token_expires_at",
644
+ "type": "timestamp",
645
+ "primaryKey": false,
646
+ "notNull": false
647
+ },
648
+ "refresh_token_expires_at": {
649
+ "name": "refresh_token_expires_at",
650
+ "type": "timestamp",
651
+ "primaryKey": false,
652
+ "notNull": false
653
+ },
654
+ "scope": {
655
+ "name": "scope",
656
+ "type": "text",
657
+ "primaryKey": false,
658
+ "notNull": false
659
+ },
660
+ "password": {
661
+ "name": "password",
662
+ "type": "text",
663
+ "primaryKey": false,
664
+ "notNull": false
665
+ },
666
+ "created_at": {
667
+ "name": "created_at",
668
+ "type": "timestamp",
669
+ "primaryKey": false,
670
+ "notNull": true,
671
+ "default": "now()"
672
+ },
673
+ "updated_at": {
674
+ "name": "updated_at",
675
+ "type": "timestamp",
676
+ "primaryKey": false,
677
+ "notNull": true,
678
+ "default": "now()"
679
+ }
680
+ },
681
+ "indexes": {
682
+ "accounts_userId_idx": {
683
+ "name": "accounts_userId_idx",
684
+ "columns": [
685
+ {
686
+ "expression": "user_id",
687
+ "isExpression": false,
688
+ "asc": true,
689
+ "nulls": "last"
690
+ }
691
+ ],
692
+ "isUnique": false,
693
+ "concurrently": false,
694
+ "method": "btree",
695
+ "with": {}
696
+ }
697
+ },
698
+ "foreignKeys": {
699
+ "accounts_user_id_users_id_fk": {
700
+ "name": "accounts_user_id_users_id_fk",
701
+ "tableFrom": "accounts",
702
+ "tableTo": "users",
703
+ "columnsFrom": [
704
+ "user_id"
705
+ ],
706
+ "columnsTo": [
707
+ "id"
708
+ ],
709
+ "onDelete": "cascade",
710
+ "onUpdate": "no action"
711
+ }
712
+ },
713
+ "compositePrimaryKeys": {},
714
+ "uniqueConstraints": {},
715
+ "policies": {},
716
+ "checkConstraints": {},
717
+ "isRLSEnabled": false
718
+ },
719
+ "public.sessions": {
720
+ "name": "sessions",
721
+ "schema": "",
722
+ "columns": {
723
+ "id": {
724
+ "name": "id",
725
+ "type": "uuid",
726
+ "primaryKey": true,
727
+ "notNull": true,
728
+ "default": "pg_catalog.gen_random_uuid()"
729
+ },
730
+ "expires_at": {
731
+ "name": "expires_at",
732
+ "type": "timestamp",
733
+ "primaryKey": false,
734
+ "notNull": true
735
+ },
736
+ "token": {
737
+ "name": "token",
738
+ "type": "text",
739
+ "primaryKey": false,
740
+ "notNull": true
741
+ },
742
+ "created_at": {
743
+ "name": "created_at",
744
+ "type": "timestamp",
745
+ "primaryKey": false,
746
+ "notNull": true,
747
+ "default": "now()"
748
+ },
749
+ "updated_at": {
750
+ "name": "updated_at",
751
+ "type": "timestamp",
752
+ "primaryKey": false,
753
+ "notNull": true,
754
+ "default": "now()"
755
+ },
756
+ "ip_address": {
757
+ "name": "ip_address",
758
+ "type": "text",
759
+ "primaryKey": false,
760
+ "notNull": false
761
+ },
762
+ "user_agent": {
763
+ "name": "user_agent",
764
+ "type": "text",
765
+ "primaryKey": false,
766
+ "notNull": false
767
+ },
768
+ "user_id": {
769
+ "name": "user_id",
770
+ "type": "uuid",
771
+ "primaryKey": false,
772
+ "notNull": true
773
+ }
774
+ },
775
+ "indexes": {
776
+ "sessions_userId_idx": {
777
+ "name": "sessions_userId_idx",
778
+ "columns": [
779
+ {
780
+ "expression": "user_id",
781
+ "isExpression": false,
782
+ "asc": true,
783
+ "nulls": "last"
784
+ }
785
+ ],
786
+ "isUnique": false,
787
+ "concurrently": false,
788
+ "method": "btree",
789
+ "with": {}
790
+ }
791
+ },
792
+ "foreignKeys": {
793
+ "sessions_user_id_users_id_fk": {
794
+ "name": "sessions_user_id_users_id_fk",
795
+ "tableFrom": "sessions",
796
+ "tableTo": "users",
797
+ "columnsFrom": [
798
+ "user_id"
799
+ ],
800
+ "columnsTo": [
801
+ "id"
802
+ ],
803
+ "onDelete": "cascade",
804
+ "onUpdate": "no action"
805
+ }
806
+ },
807
+ "compositePrimaryKeys": {},
808
+ "uniqueConstraints": {
809
+ "sessions_token_unique": {
810
+ "name": "sessions_token_unique",
811
+ "nullsNotDistinct": false,
812
+ "columns": [
813
+ "token"
814
+ ]
815
+ }
816
+ },
817
+ "policies": {},
818
+ "checkConstraints": {},
819
+ "isRLSEnabled": false
820
+ },
821
+ "public.users": {
822
+ "name": "users",
823
+ "schema": "",
824
+ "columns": {
825
+ "id": {
826
+ "name": "id",
827
+ "type": "uuid",
828
+ "primaryKey": true,
829
+ "notNull": true,
830
+ "default": "pg_catalog.gen_random_uuid()"
831
+ },
832
+ "name": {
833
+ "name": "name",
834
+ "type": "text",
835
+ "primaryKey": false,
836
+ "notNull": true
837
+ },
838
+ "email": {
839
+ "name": "email",
840
+ "type": "text",
841
+ "primaryKey": false,
842
+ "notNull": true
843
+ },
844
+ "email_verified": {
845
+ "name": "email_verified",
846
+ "type": "boolean",
847
+ "primaryKey": false,
848
+ "notNull": true,
849
+ "default": false
850
+ },
851
+ "image": {
852
+ "name": "image",
853
+ "type": "text",
854
+ "primaryKey": false,
855
+ "notNull": false
856
+ },
857
+ "created_at": {
858
+ "name": "created_at",
859
+ "type": "timestamp",
860
+ "primaryKey": false,
861
+ "notNull": true,
862
+ "default": "now()"
863
+ },
864
+ "updated_at": {
865
+ "name": "updated_at",
866
+ "type": "timestamp",
867
+ "primaryKey": false,
868
+ "notNull": true,
869
+ "default": "now()"
870
+ }
871
+ },
872
+ "indexes": {},
873
+ "foreignKeys": {},
874
+ "compositePrimaryKeys": {},
875
+ "uniqueConstraints": {
876
+ "users_email_unique": {
877
+ "name": "users_email_unique",
878
+ "nullsNotDistinct": false,
879
+ "columns": [
880
+ "email"
881
+ ]
882
+ }
883
+ },
884
+ "policies": {},
885
+ "checkConstraints": {},
886
+ "isRLSEnabled": false
887
+ },
888
+ "public.verification_tokens": {
889
+ "name": "verification_tokens",
890
+ "schema": "",
891
+ "columns": {
892
+ "id": {
893
+ "name": "id",
894
+ "type": "uuid",
895
+ "primaryKey": true,
896
+ "notNull": true,
897
+ "default": "pg_catalog.gen_random_uuid()"
898
+ },
899
+ "identifier": {
900
+ "name": "identifier",
901
+ "type": "text",
902
+ "primaryKey": false,
903
+ "notNull": true
904
+ },
905
+ "value": {
906
+ "name": "value",
907
+ "type": "text",
908
+ "primaryKey": false,
909
+ "notNull": true
910
+ },
911
+ "expires_at": {
912
+ "name": "expires_at",
913
+ "type": "timestamp",
914
+ "primaryKey": false,
915
+ "notNull": true
916
+ },
917
+ "created_at": {
918
+ "name": "created_at",
919
+ "type": "timestamp",
920
+ "primaryKey": false,
921
+ "notNull": true,
922
+ "default": "now()"
923
+ },
924
+ "updated_at": {
925
+ "name": "updated_at",
926
+ "type": "timestamp",
927
+ "primaryKey": false,
928
+ "notNull": true,
929
+ "default": "now()"
930
+ }
931
+ },
932
+ "indexes": {
933
+ "verification_tokens_identifier_idx": {
934
+ "name": "verification_tokens_identifier_idx",
935
+ "columns": [
936
+ {
937
+ "expression": "identifier",
938
+ "isExpression": false,
939
+ "asc": true,
940
+ "nulls": "last"
941
+ }
942
+ ],
943
+ "isUnique": false,
944
+ "concurrently": false,
945
+ "method": "btree",
946
+ "with": {}
947
+ }
948
+ },
949
+ "foreignKeys": {},
950
+ "compositePrimaryKeys": {},
951
+ "uniqueConstraints": {},
952
+ "policies": {},
953
+ "checkConstraints": {},
954
+ "isRLSEnabled": false
955
+ }
956
+ },
957
+ "enums": {},
958
+ "schemas": {},
959
+ "sequences": {},
960
+ "roles": {},
961
+ "policies": {},
962
+ "views": {},
963
+ "_meta": {
964
+ "columns": {},
965
+ "schemas": {},
966
+ "tables": {}
967
+ }
968
+ }