@manablox/db 0.1.0 → 0.2.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 (53) hide show
  1. package/README.md +21 -0
  2. package/drizzle.config.ts +1 -1
  3. package/migrations/0005_menus.sql +44 -0
  4. package/migrations/0006_roles.sql +13 -0
  5. package/migrations/0007_apikey-permissions.sql +4 -0
  6. package/migrations/0008_workflows.sql +49 -0
  7. package/migrations/meta/0005_snapshot.json +2504 -0
  8. package/migrations/meta/0006_snapshot.json +2605 -0
  9. package/migrations/meta/0007_snapshot.json +2605 -0
  10. package/migrations/meta/0008_snapshot.json +2986 -0
  11. package/migrations/meta/_journal.json +28 -0
  12. package/package.json +10 -5
  13. package/src/cli/create-db.ts +30 -0
  14. package/src/cli/migrate.ts +2 -9
  15. package/src/client.ts +8 -1
  16. package/src/errors.ts +50 -0
  17. package/src/index.ts +8 -2
  18. package/src/migrate.ts +21 -0
  19. package/src/pagination.ts +52 -0
  20. package/src/query.ts +1 -5
  21. package/src/repositories/asset-usage.ts +1 -1
  22. package/src/repositories/asset.ts +13 -21
  23. package/src/repositories/content-type.ts +1 -1
  24. package/src/repositories/content.ts +150 -97
  25. package/src/repositories/index.ts +12 -0
  26. package/src/repositories/menu.ts +235 -0
  27. package/src/repositories/role.ts +85 -0
  28. package/src/repositories/space.ts +7 -2
  29. package/src/repositories/user.ts +171 -25
  30. package/src/repositories/webhook.ts +46 -0
  31. package/src/repositories/workflow.ts +306 -0
  32. package/src/schema/assets.ts +108 -0
  33. package/src/schema/auth.ts +166 -0
  34. package/src/schema/content-types.ts +31 -0
  35. package/src/schema/content.ts +133 -0
  36. package/src/schema/index.ts +38 -0
  37. package/src/schema/menus.ts +61 -0
  38. package/src/schema/relations.ts +64 -0
  39. package/src/schema/spaces.ts +20 -0
  40. package/src/schema/webhooks.ts +46 -0
  41. package/src/schema/workflows.ts +92 -0
  42. package/{test/helpers.ts → src/testing-fixtures.ts} +21 -35
  43. package/src/testing.ts +105 -0
  44. package/test/asset-usage.test.ts +3 -3
  45. package/test/menu.test.ts +126 -0
  46. package/test/publish.test.ts +31 -3
  47. package/test/query.test.ts +33 -3
  48. package/test/role.test.ts +81 -0
  49. package/test/tree.test.ts +3 -3
  50. package/test/user.test.ts +126 -0
  51. package/test/webhook.test.ts +48 -0
  52. package/vitest.config.ts +0 -2
  53. package/src/schema.ts +0 -513
@@ -0,0 +1,2504 @@
1
+ {
2
+ "id": "6659b0f2-b6a9-44ec-9988-8a44f242ac1f",
3
+ "prevId": "cd1b1faa-09ba-40a7-b6ee-0e83efd8f1c6",
4
+ "version": "7",
5
+ "dialect": "postgresql",
6
+ "tables": {
7
+ "public.asset_usages": {
8
+ "name": "asset_usages",
9
+ "schema": "",
10
+ "columns": {
11
+ "asset_id": {
12
+ "name": "asset_id",
13
+ "type": "uuid",
14
+ "primaryKey": false,
15
+ "notNull": true
16
+ },
17
+ "content_id": {
18
+ "name": "content_id",
19
+ "type": "uuid",
20
+ "primaryKey": false,
21
+ "notNull": true
22
+ },
23
+ "space_id": {
24
+ "name": "space_id",
25
+ "type": "uuid",
26
+ "primaryKey": false,
27
+ "notNull": true
28
+ },
29
+ "published": {
30
+ "name": "published",
31
+ "type": "boolean",
32
+ "primaryKey": false,
33
+ "notNull": true,
34
+ "default": false
35
+ },
36
+ "updated_at": {
37
+ "name": "updated_at",
38
+ "type": "timestamp with time zone",
39
+ "primaryKey": false,
40
+ "notNull": true,
41
+ "default": "now()"
42
+ }
43
+ },
44
+ "indexes": {
45
+ "asset_usages_published_idx": {
46
+ "name": "asset_usages_published_idx",
47
+ "columns": [
48
+ {
49
+ "expression": "asset_id",
50
+ "isExpression": false,
51
+ "asc": true,
52
+ "nulls": "last"
53
+ },
54
+ {
55
+ "expression": "published",
56
+ "isExpression": false,
57
+ "asc": true,
58
+ "nulls": "last"
59
+ }
60
+ ],
61
+ "isUnique": false,
62
+ "concurrently": false,
63
+ "method": "btree",
64
+ "with": {}
65
+ },
66
+ "asset_usages_content_idx": {
67
+ "name": "asset_usages_content_idx",
68
+ "columns": [
69
+ {
70
+ "expression": "content_id",
71
+ "isExpression": false,
72
+ "asc": true,
73
+ "nulls": "last"
74
+ }
75
+ ],
76
+ "isUnique": false,
77
+ "concurrently": false,
78
+ "method": "btree",
79
+ "with": {}
80
+ }
81
+ },
82
+ "foreignKeys": {
83
+ "asset_usages_asset_id_assets_id_fk": {
84
+ "name": "asset_usages_asset_id_assets_id_fk",
85
+ "tableFrom": "asset_usages",
86
+ "tableTo": "assets",
87
+ "columnsFrom": [
88
+ "asset_id"
89
+ ],
90
+ "columnsTo": [
91
+ "id"
92
+ ],
93
+ "onDelete": "cascade",
94
+ "onUpdate": "no action"
95
+ },
96
+ "asset_usages_content_id_contents_id_fk": {
97
+ "name": "asset_usages_content_id_contents_id_fk",
98
+ "tableFrom": "asset_usages",
99
+ "tableTo": "contents",
100
+ "columnsFrom": [
101
+ "content_id"
102
+ ],
103
+ "columnsTo": [
104
+ "id"
105
+ ],
106
+ "onDelete": "cascade",
107
+ "onUpdate": "no action"
108
+ },
109
+ "asset_usages_space_id_spaces_id_fk": {
110
+ "name": "asset_usages_space_id_spaces_id_fk",
111
+ "tableFrom": "asset_usages",
112
+ "tableTo": "spaces",
113
+ "columnsFrom": [
114
+ "space_id"
115
+ ],
116
+ "columnsTo": [
117
+ "id"
118
+ ],
119
+ "onDelete": "cascade",
120
+ "onUpdate": "no action"
121
+ }
122
+ },
123
+ "compositePrimaryKeys": {
124
+ "asset_usages_asset_id_content_id_pk": {
125
+ "name": "asset_usages_asset_id_content_id_pk",
126
+ "columns": [
127
+ "asset_id",
128
+ "content_id"
129
+ ]
130
+ }
131
+ },
132
+ "uniqueConstraints": {},
133
+ "policies": {},
134
+ "checkConstraints": {},
135
+ "isRLSEnabled": false
136
+ },
137
+ "public.asset_variants": {
138
+ "name": "asset_variants",
139
+ "schema": "",
140
+ "columns": {
141
+ "id": {
142
+ "name": "id",
143
+ "type": "uuid",
144
+ "primaryKey": true,
145
+ "notNull": true,
146
+ "default": "gen_random_uuid()"
147
+ },
148
+ "asset_id": {
149
+ "name": "asset_id",
150
+ "type": "uuid",
151
+ "primaryKey": false,
152
+ "notNull": true
153
+ },
154
+ "preset": {
155
+ "name": "preset",
156
+ "type": "text",
157
+ "primaryKey": false,
158
+ "notNull": true
159
+ },
160
+ "format": {
161
+ "name": "format",
162
+ "type": "text",
163
+ "primaryKey": false,
164
+ "notNull": true
165
+ },
166
+ "key": {
167
+ "name": "key",
168
+ "type": "text",
169
+ "primaryKey": false,
170
+ "notNull": true
171
+ },
172
+ "width": {
173
+ "name": "width",
174
+ "type": "integer",
175
+ "primaryKey": false,
176
+ "notNull": false
177
+ },
178
+ "height": {
179
+ "name": "height",
180
+ "type": "integer",
181
+ "primaryKey": false,
182
+ "notNull": false
183
+ },
184
+ "size": {
185
+ "name": "size",
186
+ "type": "integer",
187
+ "primaryKey": false,
188
+ "notNull": true
189
+ },
190
+ "created_at": {
191
+ "name": "created_at",
192
+ "type": "timestamp with time zone",
193
+ "primaryKey": false,
194
+ "notNull": true,
195
+ "default": "now()"
196
+ }
197
+ },
198
+ "indexes": {
199
+ "asset_variants_asset_preset_format_key": {
200
+ "name": "asset_variants_asset_preset_format_key",
201
+ "columns": [
202
+ {
203
+ "expression": "asset_id",
204
+ "isExpression": false,
205
+ "asc": true,
206
+ "nulls": "last"
207
+ },
208
+ {
209
+ "expression": "preset",
210
+ "isExpression": false,
211
+ "asc": true,
212
+ "nulls": "last"
213
+ },
214
+ {
215
+ "expression": "format",
216
+ "isExpression": false,
217
+ "asc": true,
218
+ "nulls": "last"
219
+ }
220
+ ],
221
+ "isUnique": true,
222
+ "concurrently": false,
223
+ "method": "btree",
224
+ "with": {}
225
+ }
226
+ },
227
+ "foreignKeys": {
228
+ "asset_variants_asset_id_assets_id_fk": {
229
+ "name": "asset_variants_asset_id_assets_id_fk",
230
+ "tableFrom": "asset_variants",
231
+ "tableTo": "assets",
232
+ "columnsFrom": [
233
+ "asset_id"
234
+ ],
235
+ "columnsTo": [
236
+ "id"
237
+ ],
238
+ "onDelete": "cascade",
239
+ "onUpdate": "no action"
240
+ }
241
+ },
242
+ "compositePrimaryKeys": {},
243
+ "uniqueConstraints": {},
244
+ "policies": {},
245
+ "checkConstraints": {},
246
+ "isRLSEnabled": false
247
+ },
248
+ "public.assets": {
249
+ "name": "assets",
250
+ "schema": "",
251
+ "columns": {
252
+ "id": {
253
+ "name": "id",
254
+ "type": "uuid",
255
+ "primaryKey": true,
256
+ "notNull": true,
257
+ "default": "gen_random_uuid()"
258
+ },
259
+ "space_id": {
260
+ "name": "space_id",
261
+ "type": "uuid",
262
+ "primaryKey": false,
263
+ "notNull": true
264
+ },
265
+ "driver": {
266
+ "name": "driver",
267
+ "type": "text",
268
+ "primaryKey": false,
269
+ "notNull": true,
270
+ "default": "'local'"
271
+ },
272
+ "key": {
273
+ "name": "key",
274
+ "type": "text",
275
+ "primaryKey": false,
276
+ "notNull": true
277
+ },
278
+ "filename": {
279
+ "name": "filename",
280
+ "type": "text",
281
+ "primaryKey": false,
282
+ "notNull": true
283
+ },
284
+ "name": {
285
+ "name": "name",
286
+ "type": "text",
287
+ "primaryKey": false,
288
+ "notNull": true
289
+ },
290
+ "mime_type": {
291
+ "name": "mime_type",
292
+ "type": "text",
293
+ "primaryKey": false,
294
+ "notNull": true
295
+ },
296
+ "size": {
297
+ "name": "size",
298
+ "type": "integer",
299
+ "primaryKey": false,
300
+ "notNull": true
301
+ },
302
+ "width": {
303
+ "name": "width",
304
+ "type": "integer",
305
+ "primaryKey": false,
306
+ "notNull": false
307
+ },
308
+ "height": {
309
+ "name": "height",
310
+ "type": "integer",
311
+ "primaryKey": false,
312
+ "notNull": false
313
+ },
314
+ "duration": {
315
+ "name": "duration",
316
+ "type": "integer",
317
+ "primaryKey": false,
318
+ "notNull": false
319
+ },
320
+ "checksum": {
321
+ "name": "checksum",
322
+ "type": "text",
323
+ "primaryKey": false,
324
+ "notNull": false
325
+ },
326
+ "alt": {
327
+ "name": "alt",
328
+ "type": "text",
329
+ "primaryKey": false,
330
+ "notNull": false
331
+ },
332
+ "title": {
333
+ "name": "title",
334
+ "type": "text",
335
+ "primaryKey": false,
336
+ "notNull": false
337
+ },
338
+ "meta": {
339
+ "name": "meta",
340
+ "type": "jsonb",
341
+ "primaryKey": false,
342
+ "notNull": true,
343
+ "default": "'{}'::jsonb"
344
+ },
345
+ "created_at": {
346
+ "name": "created_at",
347
+ "type": "timestamp with time zone",
348
+ "primaryKey": false,
349
+ "notNull": true,
350
+ "default": "now()"
351
+ },
352
+ "updated_at": {
353
+ "name": "updated_at",
354
+ "type": "timestamp with time zone",
355
+ "primaryKey": false,
356
+ "notNull": true,
357
+ "default": "now()"
358
+ },
359
+ "created_by": {
360
+ "name": "created_by",
361
+ "type": "uuid",
362
+ "primaryKey": false,
363
+ "notNull": false
364
+ }
365
+ },
366
+ "indexes": {
367
+ "assets_driver_key_key": {
368
+ "name": "assets_driver_key_key",
369
+ "columns": [
370
+ {
371
+ "expression": "driver",
372
+ "isExpression": false,
373
+ "asc": true,
374
+ "nulls": "last"
375
+ },
376
+ {
377
+ "expression": "key",
378
+ "isExpression": false,
379
+ "asc": true,
380
+ "nulls": "last"
381
+ }
382
+ ],
383
+ "isUnique": true,
384
+ "concurrently": false,
385
+ "method": "btree",
386
+ "with": {}
387
+ },
388
+ "assets_space_idx": {
389
+ "name": "assets_space_idx",
390
+ "columns": [
391
+ {
392
+ "expression": "space_id",
393
+ "isExpression": false,
394
+ "asc": true,
395
+ "nulls": "last"
396
+ },
397
+ {
398
+ "expression": "created_at",
399
+ "isExpression": false,
400
+ "asc": true,
401
+ "nulls": "last"
402
+ }
403
+ ],
404
+ "isUnique": false,
405
+ "concurrently": false,
406
+ "method": "btree",
407
+ "with": {}
408
+ },
409
+ "assets_checksum_idx": {
410
+ "name": "assets_checksum_idx",
411
+ "columns": [
412
+ {
413
+ "expression": "space_id",
414
+ "isExpression": false,
415
+ "asc": true,
416
+ "nulls": "last"
417
+ },
418
+ {
419
+ "expression": "checksum",
420
+ "isExpression": false,
421
+ "asc": true,
422
+ "nulls": "last"
423
+ }
424
+ ],
425
+ "isUnique": false,
426
+ "concurrently": false,
427
+ "method": "btree",
428
+ "with": {}
429
+ },
430
+ "assets_mime_idx": {
431
+ "name": "assets_mime_idx",
432
+ "columns": [
433
+ {
434
+ "expression": "space_id",
435
+ "isExpression": false,
436
+ "asc": true,
437
+ "nulls": "last"
438
+ },
439
+ {
440
+ "expression": "mime_type",
441
+ "isExpression": false,
442
+ "asc": true,
443
+ "nulls": "last"
444
+ }
445
+ ],
446
+ "isUnique": false,
447
+ "concurrently": false,
448
+ "method": "btree",
449
+ "with": {}
450
+ }
451
+ },
452
+ "foreignKeys": {
453
+ "assets_space_id_spaces_id_fk": {
454
+ "name": "assets_space_id_spaces_id_fk",
455
+ "tableFrom": "assets",
456
+ "tableTo": "spaces",
457
+ "columnsFrom": [
458
+ "space_id"
459
+ ],
460
+ "columnsTo": [
461
+ "id"
462
+ ],
463
+ "onDelete": "cascade",
464
+ "onUpdate": "no action"
465
+ }
466
+ },
467
+ "compositePrimaryKeys": {},
468
+ "uniqueConstraints": {},
469
+ "policies": {},
470
+ "checkConstraints": {},
471
+ "isRLSEnabled": false
472
+ },
473
+ "public.accounts": {
474
+ "name": "accounts",
475
+ "schema": "",
476
+ "columns": {
477
+ "id": {
478
+ "name": "id",
479
+ "type": "uuid",
480
+ "primaryKey": true,
481
+ "notNull": true,
482
+ "default": "gen_random_uuid()"
483
+ },
484
+ "user_id": {
485
+ "name": "user_id",
486
+ "type": "uuid",
487
+ "primaryKey": false,
488
+ "notNull": true
489
+ },
490
+ "account_id": {
491
+ "name": "account_id",
492
+ "type": "text",
493
+ "primaryKey": false,
494
+ "notNull": true
495
+ },
496
+ "provider_id": {
497
+ "name": "provider_id",
498
+ "type": "text",
499
+ "primaryKey": false,
500
+ "notNull": true
501
+ },
502
+ "issuer": {
503
+ "name": "issuer",
504
+ "type": "text",
505
+ "primaryKey": false,
506
+ "notNull": true,
507
+ "default": "''"
508
+ },
509
+ "access_token": {
510
+ "name": "access_token",
511
+ "type": "text",
512
+ "primaryKey": false,
513
+ "notNull": false
514
+ },
515
+ "refresh_token": {
516
+ "name": "refresh_token",
517
+ "type": "text",
518
+ "primaryKey": false,
519
+ "notNull": false
520
+ },
521
+ "access_token_expires_at": {
522
+ "name": "access_token_expires_at",
523
+ "type": "timestamp with time zone",
524
+ "primaryKey": false,
525
+ "notNull": false
526
+ },
527
+ "refresh_token_expires_at": {
528
+ "name": "refresh_token_expires_at",
529
+ "type": "timestamp with time zone",
530
+ "primaryKey": false,
531
+ "notNull": false
532
+ },
533
+ "scope": {
534
+ "name": "scope",
535
+ "type": "text",
536
+ "primaryKey": false,
537
+ "notNull": false
538
+ },
539
+ "id_token": {
540
+ "name": "id_token",
541
+ "type": "text",
542
+ "primaryKey": false,
543
+ "notNull": false
544
+ },
545
+ "password": {
546
+ "name": "password",
547
+ "type": "text",
548
+ "primaryKey": false,
549
+ "notNull": false
550
+ },
551
+ "created_at": {
552
+ "name": "created_at",
553
+ "type": "timestamp with time zone",
554
+ "primaryKey": false,
555
+ "notNull": true,
556
+ "default": "now()"
557
+ },
558
+ "updated_at": {
559
+ "name": "updated_at",
560
+ "type": "timestamp with time zone",
561
+ "primaryKey": false,
562
+ "notNull": true,
563
+ "default": "now()"
564
+ }
565
+ },
566
+ "indexes": {
567
+ "accounts_provider_account_key": {
568
+ "name": "accounts_provider_account_key",
569
+ "columns": [
570
+ {
571
+ "expression": "provider_id",
572
+ "isExpression": false,
573
+ "asc": true,
574
+ "nulls": "last"
575
+ },
576
+ {
577
+ "expression": "account_id",
578
+ "isExpression": false,
579
+ "asc": true,
580
+ "nulls": "last"
581
+ }
582
+ ],
583
+ "isUnique": true,
584
+ "concurrently": false,
585
+ "method": "btree",
586
+ "with": {}
587
+ }
588
+ },
589
+ "foreignKeys": {
590
+ "accounts_user_id_users_id_fk": {
591
+ "name": "accounts_user_id_users_id_fk",
592
+ "tableFrom": "accounts",
593
+ "tableTo": "users",
594
+ "columnsFrom": [
595
+ "user_id"
596
+ ],
597
+ "columnsTo": [
598
+ "id"
599
+ ],
600
+ "onDelete": "cascade",
601
+ "onUpdate": "no action"
602
+ }
603
+ },
604
+ "compositePrimaryKeys": {},
605
+ "uniqueConstraints": {},
606
+ "policies": {},
607
+ "checkConstraints": {},
608
+ "isRLSEnabled": false
609
+ },
610
+ "public.apikeys": {
611
+ "name": "apikeys",
612
+ "schema": "",
613
+ "columns": {
614
+ "id": {
615
+ "name": "id",
616
+ "type": "uuid",
617
+ "primaryKey": true,
618
+ "notNull": true,
619
+ "default": "gen_random_uuid()"
620
+ },
621
+ "name": {
622
+ "name": "name",
623
+ "type": "text",
624
+ "primaryKey": false,
625
+ "notNull": false
626
+ },
627
+ "start": {
628
+ "name": "start",
629
+ "type": "text",
630
+ "primaryKey": false,
631
+ "notNull": false
632
+ },
633
+ "prefix": {
634
+ "name": "prefix",
635
+ "type": "text",
636
+ "primaryKey": false,
637
+ "notNull": false
638
+ },
639
+ "key": {
640
+ "name": "key",
641
+ "type": "text",
642
+ "primaryKey": false,
643
+ "notNull": true
644
+ },
645
+ "user_id": {
646
+ "name": "user_id",
647
+ "type": "uuid",
648
+ "primaryKey": false,
649
+ "notNull": true
650
+ },
651
+ "enabled": {
652
+ "name": "enabled",
653
+ "type": "boolean",
654
+ "primaryKey": false,
655
+ "notNull": true,
656
+ "default": true
657
+ },
658
+ "expires_at": {
659
+ "name": "expires_at",
660
+ "type": "timestamp with time zone",
661
+ "primaryKey": false,
662
+ "notNull": false
663
+ },
664
+ "last_request": {
665
+ "name": "last_request",
666
+ "type": "timestamp with time zone",
667
+ "primaryKey": false,
668
+ "notNull": false
669
+ },
670
+ "permissions": {
671
+ "name": "permissions",
672
+ "type": "text",
673
+ "primaryKey": false,
674
+ "notNull": false
675
+ },
676
+ "space_ids": {
677
+ "name": "space_ids",
678
+ "type": "jsonb",
679
+ "primaryKey": false,
680
+ "notNull": false
681
+ },
682
+ "metadata": {
683
+ "name": "metadata",
684
+ "type": "text",
685
+ "primaryKey": false,
686
+ "notNull": false
687
+ },
688
+ "created_at": {
689
+ "name": "created_at",
690
+ "type": "timestamp with time zone",
691
+ "primaryKey": false,
692
+ "notNull": true,
693
+ "default": "now()"
694
+ },
695
+ "updated_at": {
696
+ "name": "updated_at",
697
+ "type": "timestamp with time zone",
698
+ "primaryKey": false,
699
+ "notNull": true,
700
+ "default": "now()"
701
+ }
702
+ },
703
+ "indexes": {
704
+ "apikeys_user_idx": {
705
+ "name": "apikeys_user_idx",
706
+ "columns": [
707
+ {
708
+ "expression": "user_id",
709
+ "isExpression": false,
710
+ "asc": true,
711
+ "nulls": "last"
712
+ }
713
+ ],
714
+ "isUnique": false,
715
+ "concurrently": false,
716
+ "method": "btree",
717
+ "with": {}
718
+ }
719
+ },
720
+ "foreignKeys": {
721
+ "apikeys_user_id_users_id_fk": {
722
+ "name": "apikeys_user_id_users_id_fk",
723
+ "tableFrom": "apikeys",
724
+ "tableTo": "users",
725
+ "columnsFrom": [
726
+ "user_id"
727
+ ],
728
+ "columnsTo": [
729
+ "id"
730
+ ],
731
+ "onDelete": "cascade",
732
+ "onUpdate": "no action"
733
+ }
734
+ },
735
+ "compositePrimaryKeys": {},
736
+ "uniqueConstraints": {},
737
+ "policies": {},
738
+ "checkConstraints": {},
739
+ "isRLSEnabled": false
740
+ },
741
+ "public.memberships": {
742
+ "name": "memberships",
743
+ "schema": "",
744
+ "columns": {
745
+ "user_id": {
746
+ "name": "user_id",
747
+ "type": "uuid",
748
+ "primaryKey": false,
749
+ "notNull": true
750
+ },
751
+ "space_id": {
752
+ "name": "space_id",
753
+ "type": "uuid",
754
+ "primaryKey": false,
755
+ "notNull": true
756
+ },
757
+ "role": {
758
+ "name": "role",
759
+ "type": "text",
760
+ "primaryKey": false,
761
+ "notNull": true,
762
+ "default": "'editor'"
763
+ },
764
+ "created_at": {
765
+ "name": "created_at",
766
+ "type": "timestamp with time zone",
767
+ "primaryKey": false,
768
+ "notNull": true,
769
+ "default": "now()"
770
+ }
771
+ },
772
+ "indexes": {
773
+ "memberships_space_idx": {
774
+ "name": "memberships_space_idx",
775
+ "columns": [
776
+ {
777
+ "expression": "space_id",
778
+ "isExpression": false,
779
+ "asc": true,
780
+ "nulls": "last"
781
+ }
782
+ ],
783
+ "isUnique": false,
784
+ "concurrently": false,
785
+ "method": "btree",
786
+ "with": {}
787
+ }
788
+ },
789
+ "foreignKeys": {
790
+ "memberships_user_id_users_id_fk": {
791
+ "name": "memberships_user_id_users_id_fk",
792
+ "tableFrom": "memberships",
793
+ "tableTo": "users",
794
+ "columnsFrom": [
795
+ "user_id"
796
+ ],
797
+ "columnsTo": [
798
+ "id"
799
+ ],
800
+ "onDelete": "cascade",
801
+ "onUpdate": "no action"
802
+ },
803
+ "memberships_space_id_spaces_id_fk": {
804
+ "name": "memberships_space_id_spaces_id_fk",
805
+ "tableFrom": "memberships",
806
+ "tableTo": "spaces",
807
+ "columnsFrom": [
808
+ "space_id"
809
+ ],
810
+ "columnsTo": [
811
+ "id"
812
+ ],
813
+ "onDelete": "cascade",
814
+ "onUpdate": "no action"
815
+ }
816
+ },
817
+ "compositePrimaryKeys": {
818
+ "memberships_user_id_space_id_pk": {
819
+ "name": "memberships_user_id_space_id_pk",
820
+ "columns": [
821
+ "user_id",
822
+ "space_id"
823
+ ]
824
+ }
825
+ },
826
+ "uniqueConstraints": {},
827
+ "policies": {},
828
+ "checkConstraints": {},
829
+ "isRLSEnabled": false
830
+ },
831
+ "public.sessions": {
832
+ "name": "sessions",
833
+ "schema": "",
834
+ "columns": {
835
+ "id": {
836
+ "name": "id",
837
+ "type": "uuid",
838
+ "primaryKey": true,
839
+ "notNull": true,
840
+ "default": "gen_random_uuid()"
841
+ },
842
+ "user_id": {
843
+ "name": "user_id",
844
+ "type": "uuid",
845
+ "primaryKey": false,
846
+ "notNull": true
847
+ },
848
+ "token": {
849
+ "name": "token",
850
+ "type": "text",
851
+ "primaryKey": false,
852
+ "notNull": true
853
+ },
854
+ "expires_at": {
855
+ "name": "expires_at",
856
+ "type": "timestamp with time zone",
857
+ "primaryKey": false,
858
+ "notNull": true
859
+ },
860
+ "ip_address": {
861
+ "name": "ip_address",
862
+ "type": "text",
863
+ "primaryKey": false,
864
+ "notNull": false
865
+ },
866
+ "user_agent": {
867
+ "name": "user_agent",
868
+ "type": "text",
869
+ "primaryKey": false,
870
+ "notNull": false
871
+ },
872
+ "created_at": {
873
+ "name": "created_at",
874
+ "type": "timestamp with time zone",
875
+ "primaryKey": false,
876
+ "notNull": true,
877
+ "default": "now()"
878
+ },
879
+ "updated_at": {
880
+ "name": "updated_at",
881
+ "type": "timestamp with time zone",
882
+ "primaryKey": false,
883
+ "notNull": true,
884
+ "default": "now()"
885
+ }
886
+ },
887
+ "indexes": {
888
+ "sessions_token_key": {
889
+ "name": "sessions_token_key",
890
+ "columns": [
891
+ {
892
+ "expression": "token",
893
+ "isExpression": false,
894
+ "asc": true,
895
+ "nulls": "last"
896
+ }
897
+ ],
898
+ "isUnique": true,
899
+ "concurrently": false,
900
+ "method": "btree",
901
+ "with": {}
902
+ },
903
+ "sessions_user_idx": {
904
+ "name": "sessions_user_idx",
905
+ "columns": [
906
+ {
907
+ "expression": "user_id",
908
+ "isExpression": false,
909
+ "asc": true,
910
+ "nulls": "last"
911
+ }
912
+ ],
913
+ "isUnique": false,
914
+ "concurrently": false,
915
+ "method": "btree",
916
+ "with": {}
917
+ },
918
+ "sessions_expires_idx": {
919
+ "name": "sessions_expires_idx",
920
+ "columns": [
921
+ {
922
+ "expression": "expires_at",
923
+ "isExpression": false,
924
+ "asc": true,
925
+ "nulls": "last"
926
+ }
927
+ ],
928
+ "isUnique": false,
929
+ "concurrently": false,
930
+ "method": "btree",
931
+ "with": {}
932
+ }
933
+ },
934
+ "foreignKeys": {
935
+ "sessions_user_id_users_id_fk": {
936
+ "name": "sessions_user_id_users_id_fk",
937
+ "tableFrom": "sessions",
938
+ "tableTo": "users",
939
+ "columnsFrom": [
940
+ "user_id"
941
+ ],
942
+ "columnsTo": [
943
+ "id"
944
+ ],
945
+ "onDelete": "cascade",
946
+ "onUpdate": "no action"
947
+ }
948
+ },
949
+ "compositePrimaryKeys": {},
950
+ "uniqueConstraints": {},
951
+ "policies": {},
952
+ "checkConstraints": {},
953
+ "isRLSEnabled": false
954
+ },
955
+ "public.users": {
956
+ "name": "users",
957
+ "schema": "",
958
+ "columns": {
959
+ "id": {
960
+ "name": "id",
961
+ "type": "uuid",
962
+ "primaryKey": true,
963
+ "notNull": true,
964
+ "default": "gen_random_uuid()"
965
+ },
966
+ "name": {
967
+ "name": "name",
968
+ "type": "text",
969
+ "primaryKey": false,
970
+ "notNull": true,
971
+ "default": "''"
972
+ },
973
+ "email": {
974
+ "name": "email",
975
+ "type": "text",
976
+ "primaryKey": false,
977
+ "notNull": true
978
+ },
979
+ "email_verified": {
980
+ "name": "email_verified",
981
+ "type": "boolean",
982
+ "primaryKey": false,
983
+ "notNull": true,
984
+ "default": false
985
+ },
986
+ "image": {
987
+ "name": "image",
988
+ "type": "text",
989
+ "primaryKey": false,
990
+ "notNull": false
991
+ },
992
+ "role": {
993
+ "name": "role",
994
+ "type": "text",
995
+ "primaryKey": false,
996
+ "notNull": true,
997
+ "default": "'editor'"
998
+ },
999
+ "banned": {
1000
+ "name": "banned",
1001
+ "type": "boolean",
1002
+ "primaryKey": false,
1003
+ "notNull": true,
1004
+ "default": false
1005
+ },
1006
+ "ban_reason": {
1007
+ "name": "ban_reason",
1008
+ "type": "text",
1009
+ "primaryKey": false,
1010
+ "notNull": false
1011
+ },
1012
+ "created_at": {
1013
+ "name": "created_at",
1014
+ "type": "timestamp with time zone",
1015
+ "primaryKey": false,
1016
+ "notNull": true,
1017
+ "default": "now()"
1018
+ },
1019
+ "updated_at": {
1020
+ "name": "updated_at",
1021
+ "type": "timestamp with time zone",
1022
+ "primaryKey": false,
1023
+ "notNull": true,
1024
+ "default": "now()"
1025
+ }
1026
+ },
1027
+ "indexes": {
1028
+ "users_email_key": {
1029
+ "name": "users_email_key",
1030
+ "columns": [
1031
+ {
1032
+ "expression": "email",
1033
+ "isExpression": false,
1034
+ "asc": true,
1035
+ "nulls": "last"
1036
+ }
1037
+ ],
1038
+ "isUnique": true,
1039
+ "concurrently": false,
1040
+ "method": "btree",
1041
+ "with": {}
1042
+ }
1043
+ },
1044
+ "foreignKeys": {},
1045
+ "compositePrimaryKeys": {},
1046
+ "uniqueConstraints": {},
1047
+ "policies": {},
1048
+ "checkConstraints": {},
1049
+ "isRLSEnabled": false
1050
+ },
1051
+ "public.verifications": {
1052
+ "name": "verifications",
1053
+ "schema": "",
1054
+ "columns": {
1055
+ "id": {
1056
+ "name": "id",
1057
+ "type": "uuid",
1058
+ "primaryKey": true,
1059
+ "notNull": true,
1060
+ "default": "gen_random_uuid()"
1061
+ },
1062
+ "identifier": {
1063
+ "name": "identifier",
1064
+ "type": "text",
1065
+ "primaryKey": false,
1066
+ "notNull": true
1067
+ },
1068
+ "value": {
1069
+ "name": "value",
1070
+ "type": "text",
1071
+ "primaryKey": false,
1072
+ "notNull": true
1073
+ },
1074
+ "expires_at": {
1075
+ "name": "expires_at",
1076
+ "type": "timestamp with time zone",
1077
+ "primaryKey": false,
1078
+ "notNull": true
1079
+ },
1080
+ "created_at": {
1081
+ "name": "created_at",
1082
+ "type": "timestamp with time zone",
1083
+ "primaryKey": false,
1084
+ "notNull": true,
1085
+ "default": "now()"
1086
+ },
1087
+ "updated_at": {
1088
+ "name": "updated_at",
1089
+ "type": "timestamp with time zone",
1090
+ "primaryKey": false,
1091
+ "notNull": true,
1092
+ "default": "now()"
1093
+ }
1094
+ },
1095
+ "indexes": {
1096
+ "verifications_identifier_idx": {
1097
+ "name": "verifications_identifier_idx",
1098
+ "columns": [
1099
+ {
1100
+ "expression": "identifier",
1101
+ "isExpression": false,
1102
+ "asc": true,
1103
+ "nulls": "last"
1104
+ }
1105
+ ],
1106
+ "isUnique": false,
1107
+ "concurrently": false,
1108
+ "method": "btree",
1109
+ "with": {}
1110
+ }
1111
+ },
1112
+ "foreignKeys": {},
1113
+ "compositePrimaryKeys": {},
1114
+ "uniqueConstraints": {},
1115
+ "policies": {},
1116
+ "checkConstraints": {},
1117
+ "isRLSEnabled": false
1118
+ },
1119
+ "public.content_versions": {
1120
+ "name": "content_versions",
1121
+ "schema": "",
1122
+ "columns": {
1123
+ "id": {
1124
+ "name": "id",
1125
+ "type": "uuid",
1126
+ "primaryKey": true,
1127
+ "notNull": true,
1128
+ "default": "gen_random_uuid()"
1129
+ },
1130
+ "content_id": {
1131
+ "name": "content_id",
1132
+ "type": "uuid",
1133
+ "primaryKey": false,
1134
+ "notNull": true
1135
+ },
1136
+ "version": {
1137
+ "name": "version",
1138
+ "type": "integer",
1139
+ "primaryKey": false,
1140
+ "notNull": true
1141
+ },
1142
+ "label": {
1143
+ "name": "label",
1144
+ "type": "text",
1145
+ "primaryKey": false,
1146
+ "notNull": false
1147
+ },
1148
+ "snapshot": {
1149
+ "name": "snapshot",
1150
+ "type": "jsonb",
1151
+ "primaryKey": false,
1152
+ "notNull": true
1153
+ },
1154
+ "created_at": {
1155
+ "name": "created_at",
1156
+ "type": "timestamp with time zone",
1157
+ "primaryKey": false,
1158
+ "notNull": true,
1159
+ "default": "now()"
1160
+ },
1161
+ "created_by": {
1162
+ "name": "created_by",
1163
+ "type": "uuid",
1164
+ "primaryKey": false,
1165
+ "notNull": false
1166
+ }
1167
+ },
1168
+ "indexes": {
1169
+ "content_versions_content_version_key": {
1170
+ "name": "content_versions_content_version_key",
1171
+ "columns": [
1172
+ {
1173
+ "expression": "content_id",
1174
+ "isExpression": false,
1175
+ "asc": true,
1176
+ "nulls": "last"
1177
+ },
1178
+ {
1179
+ "expression": "version",
1180
+ "isExpression": false,
1181
+ "asc": true,
1182
+ "nulls": "last"
1183
+ }
1184
+ ],
1185
+ "isUnique": true,
1186
+ "concurrently": false,
1187
+ "method": "btree",
1188
+ "with": {}
1189
+ },
1190
+ "content_versions_content_idx": {
1191
+ "name": "content_versions_content_idx",
1192
+ "columns": [
1193
+ {
1194
+ "expression": "content_id",
1195
+ "isExpression": false,
1196
+ "asc": true,
1197
+ "nulls": "last"
1198
+ },
1199
+ {
1200
+ "expression": "created_at",
1201
+ "isExpression": false,
1202
+ "asc": true,
1203
+ "nulls": "last"
1204
+ }
1205
+ ],
1206
+ "isUnique": false,
1207
+ "concurrently": false,
1208
+ "method": "btree",
1209
+ "with": {}
1210
+ }
1211
+ },
1212
+ "foreignKeys": {},
1213
+ "compositePrimaryKeys": {},
1214
+ "uniqueConstraints": {},
1215
+ "policies": {},
1216
+ "checkConstraints": {},
1217
+ "isRLSEnabled": false
1218
+ },
1219
+ "public.contents": {
1220
+ "name": "contents",
1221
+ "schema": "",
1222
+ "columns": {
1223
+ "id": {
1224
+ "name": "id",
1225
+ "type": "uuid",
1226
+ "primaryKey": true,
1227
+ "notNull": true,
1228
+ "default": "gen_random_uuid()"
1229
+ },
1230
+ "space_id": {
1231
+ "name": "space_id",
1232
+ "type": "uuid",
1233
+ "primaryKey": false,
1234
+ "notNull": true
1235
+ },
1236
+ "type_id": {
1237
+ "name": "type_id",
1238
+ "type": "uuid",
1239
+ "primaryKey": false,
1240
+ "notNull": true
1241
+ },
1242
+ "locale": {
1243
+ "name": "locale",
1244
+ "type": "text",
1245
+ "primaryKey": false,
1246
+ "notNull": true
1247
+ },
1248
+ "localization_id": {
1249
+ "name": "localization_id",
1250
+ "type": "uuid",
1251
+ "primaryKey": false,
1252
+ "notNull": true
1253
+ },
1254
+ "parent_id": {
1255
+ "name": "parent_id",
1256
+ "type": "uuid",
1257
+ "primaryKey": false,
1258
+ "notNull": false
1259
+ },
1260
+ "title": {
1261
+ "name": "title",
1262
+ "type": "text",
1263
+ "primaryKey": false,
1264
+ "notNull": true
1265
+ },
1266
+ "slug": {
1267
+ "name": "slug",
1268
+ "type": "text",
1269
+ "primaryKey": false,
1270
+ "notNull": true
1271
+ },
1272
+ "path": {
1273
+ "name": "path",
1274
+ "type": "ltree",
1275
+ "primaryKey": false,
1276
+ "notNull": true
1277
+ },
1278
+ "permalink": {
1279
+ "name": "permalink",
1280
+ "type": "text",
1281
+ "primaryKey": false,
1282
+ "notNull": false
1283
+ },
1284
+ "permalink_path": {
1285
+ "name": "permalink_path",
1286
+ "type": "text",
1287
+ "primaryKey": false,
1288
+ "notNull": true,
1289
+ "default": "''"
1290
+ },
1291
+ "permalink_segment": {
1292
+ "name": "permalink_segment",
1293
+ "type": "text",
1294
+ "primaryKey": false,
1295
+ "notNull": false
1296
+ },
1297
+ "status": {
1298
+ "name": "status",
1299
+ "type": "text",
1300
+ "primaryKey": false,
1301
+ "notNull": true,
1302
+ "default": "'draft'"
1303
+ },
1304
+ "position": {
1305
+ "name": "position",
1306
+ "type": "integer",
1307
+ "primaryKey": false,
1308
+ "notNull": true,
1309
+ "default": 0
1310
+ },
1311
+ "fields": {
1312
+ "name": "fields",
1313
+ "type": "jsonb",
1314
+ "primaryKey": false,
1315
+ "notNull": true,
1316
+ "default": "'{}'::jsonb"
1317
+ },
1318
+ "search_text": {
1319
+ "name": "search_text",
1320
+ "type": "text",
1321
+ "primaryKey": false,
1322
+ "notNull": true,
1323
+ "default": "''"
1324
+ },
1325
+ "version": {
1326
+ "name": "version",
1327
+ "type": "integer",
1328
+ "primaryKey": false,
1329
+ "notNull": true,
1330
+ "default": 1
1331
+ },
1332
+ "created_at": {
1333
+ "name": "created_at",
1334
+ "type": "timestamp with time zone",
1335
+ "primaryKey": false,
1336
+ "notNull": true,
1337
+ "default": "now()"
1338
+ },
1339
+ "updated_at": {
1340
+ "name": "updated_at",
1341
+ "type": "timestamp with time zone",
1342
+ "primaryKey": false,
1343
+ "notNull": true,
1344
+ "default": "now()"
1345
+ },
1346
+ "created_by": {
1347
+ "name": "created_by",
1348
+ "type": "uuid",
1349
+ "primaryKey": false,
1350
+ "notNull": false
1351
+ },
1352
+ "updated_by": {
1353
+ "name": "updated_by",
1354
+ "type": "uuid",
1355
+ "primaryKey": false,
1356
+ "notNull": false
1357
+ },
1358
+ "published_at": {
1359
+ "name": "published_at",
1360
+ "type": "timestamp with time zone",
1361
+ "primaryKey": false,
1362
+ "notNull": false
1363
+ },
1364
+ "search": {
1365
+ "name": "search",
1366
+ "type": "tsvector",
1367
+ "primaryKey": false,
1368
+ "notNull": false,
1369
+ "generated": {
1370
+ "as": "to_tsvector('simple', coalesce(title, '') || ' ' || coalesce(search_text, ''))",
1371
+ "type": "stored"
1372
+ }
1373
+ }
1374
+ },
1375
+ "indexes": {
1376
+ "contents_path_gist_idx": {
1377
+ "name": "contents_path_gist_idx",
1378
+ "columns": [
1379
+ {
1380
+ "expression": "path",
1381
+ "isExpression": false,
1382
+ "asc": true,
1383
+ "nulls": "last"
1384
+ }
1385
+ ],
1386
+ "isUnique": false,
1387
+ "concurrently": false,
1388
+ "method": "gist",
1389
+ "with": {}
1390
+ },
1391
+ "contents_parent_idx": {
1392
+ "name": "contents_parent_idx",
1393
+ "columns": [
1394
+ {
1395
+ "expression": "parent_id",
1396
+ "isExpression": false,
1397
+ "asc": true,
1398
+ "nulls": "last"
1399
+ }
1400
+ ],
1401
+ "isUnique": false,
1402
+ "concurrently": false,
1403
+ "method": "btree",
1404
+ "with": {}
1405
+ },
1406
+ "contents_space_type_idx": {
1407
+ "name": "contents_space_type_idx",
1408
+ "columns": [
1409
+ {
1410
+ "expression": "space_id",
1411
+ "isExpression": false,
1412
+ "asc": true,
1413
+ "nulls": "last"
1414
+ },
1415
+ {
1416
+ "expression": "type_id",
1417
+ "isExpression": false,
1418
+ "asc": true,
1419
+ "nulls": "last"
1420
+ }
1421
+ ],
1422
+ "isUnique": false,
1423
+ "concurrently": false,
1424
+ "method": "btree",
1425
+ "with": {}
1426
+ },
1427
+ "contents_localization_idx": {
1428
+ "name": "contents_localization_idx",
1429
+ "columns": [
1430
+ {
1431
+ "expression": "localization_id",
1432
+ "isExpression": false,
1433
+ "asc": true,
1434
+ "nulls": "last"
1435
+ }
1436
+ ],
1437
+ "isUnique": false,
1438
+ "concurrently": false,
1439
+ "method": "btree",
1440
+ "with": {}
1441
+ },
1442
+ "contents_status_idx": {
1443
+ "name": "contents_status_idx",
1444
+ "columns": [
1445
+ {
1446
+ "expression": "space_id",
1447
+ "isExpression": false,
1448
+ "asc": true,
1449
+ "nulls": "last"
1450
+ },
1451
+ {
1452
+ "expression": "status",
1453
+ "isExpression": false,
1454
+ "asc": true,
1455
+ "nulls": "last"
1456
+ }
1457
+ ],
1458
+ "isUnique": false,
1459
+ "concurrently": false,
1460
+ "method": "btree",
1461
+ "with": {}
1462
+ },
1463
+ "contents_fields_gin_idx": {
1464
+ "name": "contents_fields_gin_idx",
1465
+ "columns": [
1466
+ {
1467
+ "expression": "\"fields\" jsonb_path_ops",
1468
+ "asc": true,
1469
+ "isExpression": true,
1470
+ "nulls": "last"
1471
+ }
1472
+ ],
1473
+ "isUnique": false,
1474
+ "concurrently": false,
1475
+ "method": "gin",
1476
+ "with": {}
1477
+ },
1478
+ "contents_search_gin_idx": {
1479
+ "name": "contents_search_gin_idx",
1480
+ "columns": [
1481
+ {
1482
+ "expression": "search",
1483
+ "isExpression": false,
1484
+ "asc": true,
1485
+ "nulls": "last"
1486
+ }
1487
+ ],
1488
+ "isUnique": false,
1489
+ "concurrently": false,
1490
+ "method": "gin",
1491
+ "with": {}
1492
+ },
1493
+ "contents_permalink_key": {
1494
+ "name": "contents_permalink_key",
1495
+ "columns": [
1496
+ {
1497
+ "expression": "space_id",
1498
+ "isExpression": false,
1499
+ "asc": true,
1500
+ "nulls": "last"
1501
+ },
1502
+ {
1503
+ "expression": "locale",
1504
+ "isExpression": false,
1505
+ "asc": true,
1506
+ "nulls": "last"
1507
+ },
1508
+ {
1509
+ "expression": "permalink",
1510
+ "isExpression": false,
1511
+ "asc": true,
1512
+ "nulls": "last"
1513
+ }
1514
+ ],
1515
+ "isUnique": true,
1516
+ "where": "permalink is not null",
1517
+ "concurrently": false,
1518
+ "method": "btree",
1519
+ "with": {}
1520
+ }
1521
+ },
1522
+ "foreignKeys": {
1523
+ "contents_space_id_spaces_id_fk": {
1524
+ "name": "contents_space_id_spaces_id_fk",
1525
+ "tableFrom": "contents",
1526
+ "tableTo": "spaces",
1527
+ "columnsFrom": [
1528
+ "space_id"
1529
+ ],
1530
+ "columnsTo": [
1531
+ "id"
1532
+ ],
1533
+ "onDelete": "cascade",
1534
+ "onUpdate": "no action"
1535
+ }
1536
+ },
1537
+ "compositePrimaryKeys": {},
1538
+ "uniqueConstraints": {
1539
+ "contents_sibling_slug_key": {
1540
+ "name": "contents_sibling_slug_key",
1541
+ "nullsNotDistinct": true,
1542
+ "columns": [
1543
+ "space_id",
1544
+ "parent_id",
1545
+ "locale",
1546
+ "slug"
1547
+ ]
1548
+ }
1549
+ },
1550
+ "policies": {},
1551
+ "checkConstraints": {},
1552
+ "isRLSEnabled": false
1553
+ },
1554
+ "public.published_contents": {
1555
+ "name": "published_contents",
1556
+ "schema": "",
1557
+ "columns": {
1558
+ "id": {
1559
+ "name": "id",
1560
+ "type": "uuid",
1561
+ "primaryKey": true,
1562
+ "notNull": true,
1563
+ "default": "gen_random_uuid()"
1564
+ },
1565
+ "space_id": {
1566
+ "name": "space_id",
1567
+ "type": "uuid",
1568
+ "primaryKey": false,
1569
+ "notNull": true
1570
+ },
1571
+ "type_id": {
1572
+ "name": "type_id",
1573
+ "type": "uuid",
1574
+ "primaryKey": false,
1575
+ "notNull": true
1576
+ },
1577
+ "locale": {
1578
+ "name": "locale",
1579
+ "type": "text",
1580
+ "primaryKey": false,
1581
+ "notNull": true
1582
+ },
1583
+ "localization_id": {
1584
+ "name": "localization_id",
1585
+ "type": "uuid",
1586
+ "primaryKey": false,
1587
+ "notNull": true
1588
+ },
1589
+ "parent_id": {
1590
+ "name": "parent_id",
1591
+ "type": "uuid",
1592
+ "primaryKey": false,
1593
+ "notNull": false
1594
+ },
1595
+ "title": {
1596
+ "name": "title",
1597
+ "type": "text",
1598
+ "primaryKey": false,
1599
+ "notNull": true
1600
+ },
1601
+ "slug": {
1602
+ "name": "slug",
1603
+ "type": "text",
1604
+ "primaryKey": false,
1605
+ "notNull": true
1606
+ },
1607
+ "path": {
1608
+ "name": "path",
1609
+ "type": "ltree",
1610
+ "primaryKey": false,
1611
+ "notNull": true
1612
+ },
1613
+ "permalink": {
1614
+ "name": "permalink",
1615
+ "type": "text",
1616
+ "primaryKey": false,
1617
+ "notNull": false
1618
+ },
1619
+ "permalink_path": {
1620
+ "name": "permalink_path",
1621
+ "type": "text",
1622
+ "primaryKey": false,
1623
+ "notNull": true,
1624
+ "default": "''"
1625
+ },
1626
+ "permalink_segment": {
1627
+ "name": "permalink_segment",
1628
+ "type": "text",
1629
+ "primaryKey": false,
1630
+ "notNull": false
1631
+ },
1632
+ "status": {
1633
+ "name": "status",
1634
+ "type": "text",
1635
+ "primaryKey": false,
1636
+ "notNull": true,
1637
+ "default": "'draft'"
1638
+ },
1639
+ "position": {
1640
+ "name": "position",
1641
+ "type": "integer",
1642
+ "primaryKey": false,
1643
+ "notNull": true,
1644
+ "default": 0
1645
+ },
1646
+ "fields": {
1647
+ "name": "fields",
1648
+ "type": "jsonb",
1649
+ "primaryKey": false,
1650
+ "notNull": true,
1651
+ "default": "'{}'::jsonb"
1652
+ },
1653
+ "search_text": {
1654
+ "name": "search_text",
1655
+ "type": "text",
1656
+ "primaryKey": false,
1657
+ "notNull": true,
1658
+ "default": "''"
1659
+ },
1660
+ "version": {
1661
+ "name": "version",
1662
+ "type": "integer",
1663
+ "primaryKey": false,
1664
+ "notNull": true,
1665
+ "default": 1
1666
+ },
1667
+ "created_at": {
1668
+ "name": "created_at",
1669
+ "type": "timestamp with time zone",
1670
+ "primaryKey": false,
1671
+ "notNull": true,
1672
+ "default": "now()"
1673
+ },
1674
+ "updated_at": {
1675
+ "name": "updated_at",
1676
+ "type": "timestamp with time zone",
1677
+ "primaryKey": false,
1678
+ "notNull": true,
1679
+ "default": "now()"
1680
+ },
1681
+ "created_by": {
1682
+ "name": "created_by",
1683
+ "type": "uuid",
1684
+ "primaryKey": false,
1685
+ "notNull": false
1686
+ },
1687
+ "updated_by": {
1688
+ "name": "updated_by",
1689
+ "type": "uuid",
1690
+ "primaryKey": false,
1691
+ "notNull": false
1692
+ },
1693
+ "published_at": {
1694
+ "name": "published_at",
1695
+ "type": "timestamp with time zone",
1696
+ "primaryKey": false,
1697
+ "notNull": false
1698
+ },
1699
+ "source_version": {
1700
+ "name": "source_version",
1701
+ "type": "integer",
1702
+ "primaryKey": false,
1703
+ "notNull": true,
1704
+ "default": 1
1705
+ },
1706
+ "search": {
1707
+ "name": "search",
1708
+ "type": "tsvector",
1709
+ "primaryKey": false,
1710
+ "notNull": false,
1711
+ "generated": {
1712
+ "as": "to_tsvector('simple', coalesce(title, '') || ' ' || coalesce(search_text, ''))",
1713
+ "type": "stored"
1714
+ }
1715
+ }
1716
+ },
1717
+ "indexes": {
1718
+ "published_contents_path_gist_idx": {
1719
+ "name": "published_contents_path_gist_idx",
1720
+ "columns": [
1721
+ {
1722
+ "expression": "path",
1723
+ "isExpression": false,
1724
+ "asc": true,
1725
+ "nulls": "last"
1726
+ }
1727
+ ],
1728
+ "isUnique": false,
1729
+ "concurrently": false,
1730
+ "method": "gist",
1731
+ "with": {}
1732
+ },
1733
+ "published_contents_parent_idx": {
1734
+ "name": "published_contents_parent_idx",
1735
+ "columns": [
1736
+ {
1737
+ "expression": "parent_id",
1738
+ "isExpression": false,
1739
+ "asc": true,
1740
+ "nulls": "last"
1741
+ }
1742
+ ],
1743
+ "isUnique": false,
1744
+ "concurrently": false,
1745
+ "method": "btree",
1746
+ "with": {}
1747
+ },
1748
+ "published_contents_space_type_idx": {
1749
+ "name": "published_contents_space_type_idx",
1750
+ "columns": [
1751
+ {
1752
+ "expression": "space_id",
1753
+ "isExpression": false,
1754
+ "asc": true,
1755
+ "nulls": "last"
1756
+ },
1757
+ {
1758
+ "expression": "type_id",
1759
+ "isExpression": false,
1760
+ "asc": true,
1761
+ "nulls": "last"
1762
+ }
1763
+ ],
1764
+ "isUnique": false,
1765
+ "concurrently": false,
1766
+ "method": "btree",
1767
+ "with": {}
1768
+ },
1769
+ "published_contents_fields_gin_idx": {
1770
+ "name": "published_contents_fields_gin_idx",
1771
+ "columns": [
1772
+ {
1773
+ "expression": "\"fields\" jsonb_path_ops",
1774
+ "asc": true,
1775
+ "isExpression": true,
1776
+ "nulls": "last"
1777
+ }
1778
+ ],
1779
+ "isUnique": false,
1780
+ "concurrently": false,
1781
+ "method": "gin",
1782
+ "with": {}
1783
+ },
1784
+ "published_contents_search_gin_idx": {
1785
+ "name": "published_contents_search_gin_idx",
1786
+ "columns": [
1787
+ {
1788
+ "expression": "search",
1789
+ "isExpression": false,
1790
+ "asc": true,
1791
+ "nulls": "last"
1792
+ }
1793
+ ],
1794
+ "isUnique": false,
1795
+ "concurrently": false,
1796
+ "method": "gin",
1797
+ "with": {}
1798
+ },
1799
+ "published_contents_permalink_key": {
1800
+ "name": "published_contents_permalink_key",
1801
+ "columns": [
1802
+ {
1803
+ "expression": "space_id",
1804
+ "isExpression": false,
1805
+ "asc": true,
1806
+ "nulls": "last"
1807
+ },
1808
+ {
1809
+ "expression": "locale",
1810
+ "isExpression": false,
1811
+ "asc": true,
1812
+ "nulls": "last"
1813
+ },
1814
+ {
1815
+ "expression": "permalink",
1816
+ "isExpression": false,
1817
+ "asc": true,
1818
+ "nulls": "last"
1819
+ }
1820
+ ],
1821
+ "isUnique": true,
1822
+ "where": "permalink is not null",
1823
+ "concurrently": false,
1824
+ "method": "btree",
1825
+ "with": {}
1826
+ }
1827
+ },
1828
+ "foreignKeys": {
1829
+ "published_contents_space_id_spaces_id_fk": {
1830
+ "name": "published_contents_space_id_spaces_id_fk",
1831
+ "tableFrom": "published_contents",
1832
+ "tableTo": "spaces",
1833
+ "columnsFrom": [
1834
+ "space_id"
1835
+ ],
1836
+ "columnsTo": [
1837
+ "id"
1838
+ ],
1839
+ "onDelete": "cascade",
1840
+ "onUpdate": "no action"
1841
+ }
1842
+ },
1843
+ "compositePrimaryKeys": {},
1844
+ "uniqueConstraints": {},
1845
+ "policies": {},
1846
+ "checkConstraints": {},
1847
+ "isRLSEnabled": false
1848
+ },
1849
+ "public.content_types": {
1850
+ "name": "content_types",
1851
+ "schema": "",
1852
+ "columns": {
1853
+ "id": {
1854
+ "name": "id",
1855
+ "type": "uuid",
1856
+ "primaryKey": true,
1857
+ "notNull": true,
1858
+ "default": "gen_random_uuid()"
1859
+ },
1860
+ "space_id": {
1861
+ "name": "space_id",
1862
+ "type": "uuid",
1863
+ "primaryKey": false,
1864
+ "notNull": false
1865
+ },
1866
+ "name": {
1867
+ "name": "name",
1868
+ "type": "text",
1869
+ "primaryKey": false,
1870
+ "notNull": true
1871
+ },
1872
+ "label": {
1873
+ "name": "label",
1874
+ "type": "text",
1875
+ "primaryKey": false,
1876
+ "notNull": true
1877
+ },
1878
+ "description": {
1879
+ "name": "description",
1880
+ "type": "text",
1881
+ "primaryKey": false,
1882
+ "notNull": false
1883
+ },
1884
+ "icon": {
1885
+ "name": "icon",
1886
+ "type": "text",
1887
+ "primaryKey": false,
1888
+ "notNull": false
1889
+ },
1890
+ "kind": {
1891
+ "name": "kind",
1892
+ "type": "text",
1893
+ "primaryKey": false,
1894
+ "notNull": true,
1895
+ "default": "'content'"
1896
+ },
1897
+ "has_slug": {
1898
+ "name": "has_slug",
1899
+ "type": "boolean",
1900
+ "primaryKey": false,
1901
+ "notNull": true,
1902
+ "default": true
1903
+ },
1904
+ "is_publishable": {
1905
+ "name": "is_publishable",
1906
+ "type": "boolean",
1907
+ "primaryKey": false,
1908
+ "notNull": true,
1909
+ "default": true
1910
+ },
1911
+ "is_visible_in_tree": {
1912
+ "name": "is_visible_in_tree",
1913
+ "type": "boolean",
1914
+ "primaryKey": false,
1915
+ "notNull": true,
1916
+ "default": true
1917
+ },
1918
+ "can_be_visible_in_menu": {
1919
+ "name": "can_be_visible_in_menu",
1920
+ "type": "boolean",
1921
+ "primaryKey": false,
1922
+ "notNull": true,
1923
+ "default": true
1924
+ },
1925
+ "fields": {
1926
+ "name": "fields",
1927
+ "type": "jsonb",
1928
+ "primaryKey": false,
1929
+ "notNull": true,
1930
+ "default": "'[]'::jsonb"
1931
+ },
1932
+ "created_at": {
1933
+ "name": "created_at",
1934
+ "type": "timestamp with time zone",
1935
+ "primaryKey": false,
1936
+ "notNull": true,
1937
+ "default": "now()"
1938
+ },
1939
+ "updated_at": {
1940
+ "name": "updated_at",
1941
+ "type": "timestamp with time zone",
1942
+ "primaryKey": false,
1943
+ "notNull": true,
1944
+ "default": "now()"
1945
+ }
1946
+ },
1947
+ "indexes": {
1948
+ "content_types_space_idx": {
1949
+ "name": "content_types_space_idx",
1950
+ "columns": [
1951
+ {
1952
+ "expression": "space_id",
1953
+ "isExpression": false,
1954
+ "asc": true,
1955
+ "nulls": "last"
1956
+ }
1957
+ ],
1958
+ "isUnique": false,
1959
+ "concurrently": false,
1960
+ "method": "btree",
1961
+ "with": {}
1962
+ }
1963
+ },
1964
+ "foreignKeys": {
1965
+ "content_types_space_id_spaces_id_fk": {
1966
+ "name": "content_types_space_id_spaces_id_fk",
1967
+ "tableFrom": "content_types",
1968
+ "tableTo": "spaces",
1969
+ "columnsFrom": [
1970
+ "space_id"
1971
+ ],
1972
+ "columnsTo": [
1973
+ "id"
1974
+ ],
1975
+ "onDelete": "cascade",
1976
+ "onUpdate": "no action"
1977
+ }
1978
+ },
1979
+ "compositePrimaryKeys": {},
1980
+ "uniqueConstraints": {
1981
+ "content_types_space_name_key": {
1982
+ "name": "content_types_space_name_key",
1983
+ "nullsNotDistinct": true,
1984
+ "columns": [
1985
+ "space_id",
1986
+ "name"
1987
+ ]
1988
+ }
1989
+ },
1990
+ "policies": {},
1991
+ "checkConstraints": {},
1992
+ "isRLSEnabled": false
1993
+ },
1994
+ "public.menu_items": {
1995
+ "name": "menu_items",
1996
+ "schema": "",
1997
+ "columns": {
1998
+ "id": {
1999
+ "name": "id",
2000
+ "type": "uuid",
2001
+ "primaryKey": true,
2002
+ "notNull": true,
2003
+ "default": "gen_random_uuid()"
2004
+ },
2005
+ "menu_id": {
2006
+ "name": "menu_id",
2007
+ "type": "uuid",
2008
+ "primaryKey": false,
2009
+ "notNull": true
2010
+ },
2011
+ "parent_id": {
2012
+ "name": "parent_id",
2013
+ "type": "uuid",
2014
+ "primaryKey": false,
2015
+ "notNull": false
2016
+ },
2017
+ "position": {
2018
+ "name": "position",
2019
+ "type": "integer",
2020
+ "primaryKey": false,
2021
+ "notNull": true,
2022
+ "default": 0
2023
+ },
2024
+ "localization_id": {
2025
+ "name": "localization_id",
2026
+ "type": "uuid",
2027
+ "primaryKey": false,
2028
+ "notNull": false
2029
+ },
2030
+ "label": {
2031
+ "name": "label",
2032
+ "type": "text",
2033
+ "primaryKey": false,
2034
+ "notNull": false
2035
+ },
2036
+ "url": {
2037
+ "name": "url",
2038
+ "type": "text",
2039
+ "primaryKey": false,
2040
+ "notNull": false
2041
+ }
2042
+ },
2043
+ "indexes": {
2044
+ "menu_items_menu_idx": {
2045
+ "name": "menu_items_menu_idx",
2046
+ "columns": [
2047
+ {
2048
+ "expression": "menu_id",
2049
+ "isExpression": false,
2050
+ "asc": true,
2051
+ "nulls": "last"
2052
+ },
2053
+ {
2054
+ "expression": "parent_id",
2055
+ "isExpression": false,
2056
+ "asc": true,
2057
+ "nulls": "last"
2058
+ },
2059
+ {
2060
+ "expression": "position",
2061
+ "isExpression": false,
2062
+ "asc": true,
2063
+ "nulls": "last"
2064
+ }
2065
+ ],
2066
+ "isUnique": false,
2067
+ "concurrently": false,
2068
+ "method": "btree",
2069
+ "with": {}
2070
+ },
2071
+ "menu_items_localization_idx": {
2072
+ "name": "menu_items_localization_idx",
2073
+ "columns": [
2074
+ {
2075
+ "expression": "localization_id",
2076
+ "isExpression": false,
2077
+ "asc": true,
2078
+ "nulls": "last"
2079
+ }
2080
+ ],
2081
+ "isUnique": false,
2082
+ "concurrently": false,
2083
+ "method": "btree",
2084
+ "with": {}
2085
+ }
2086
+ },
2087
+ "foreignKeys": {
2088
+ "menu_items_menu_id_menus_id_fk": {
2089
+ "name": "menu_items_menu_id_menus_id_fk",
2090
+ "tableFrom": "menu_items",
2091
+ "tableTo": "menus",
2092
+ "columnsFrom": [
2093
+ "menu_id"
2094
+ ],
2095
+ "columnsTo": [
2096
+ "id"
2097
+ ],
2098
+ "onDelete": "cascade",
2099
+ "onUpdate": "no action"
2100
+ },
2101
+ "menu_items_parent_id_menu_items_id_fk": {
2102
+ "name": "menu_items_parent_id_menu_items_id_fk",
2103
+ "tableFrom": "menu_items",
2104
+ "tableTo": "menu_items",
2105
+ "columnsFrom": [
2106
+ "parent_id"
2107
+ ],
2108
+ "columnsTo": [
2109
+ "id"
2110
+ ],
2111
+ "onDelete": "cascade",
2112
+ "onUpdate": "no action"
2113
+ }
2114
+ },
2115
+ "compositePrimaryKeys": {},
2116
+ "uniqueConstraints": {},
2117
+ "policies": {},
2118
+ "checkConstraints": {},
2119
+ "isRLSEnabled": false
2120
+ },
2121
+ "public.menus": {
2122
+ "name": "menus",
2123
+ "schema": "",
2124
+ "columns": {
2125
+ "id": {
2126
+ "name": "id",
2127
+ "type": "uuid",
2128
+ "primaryKey": true,
2129
+ "notNull": true,
2130
+ "default": "gen_random_uuid()"
2131
+ },
2132
+ "space_id": {
2133
+ "name": "space_id",
2134
+ "type": "uuid",
2135
+ "primaryKey": false,
2136
+ "notNull": true
2137
+ },
2138
+ "name": {
2139
+ "name": "name",
2140
+ "type": "text",
2141
+ "primaryKey": false,
2142
+ "notNull": true
2143
+ },
2144
+ "machine_name": {
2145
+ "name": "machine_name",
2146
+ "type": "text",
2147
+ "primaryKey": false,
2148
+ "notNull": true
2149
+ },
2150
+ "description": {
2151
+ "name": "description",
2152
+ "type": "text",
2153
+ "primaryKey": false,
2154
+ "notNull": false
2155
+ },
2156
+ "created_at": {
2157
+ "name": "created_at",
2158
+ "type": "timestamp with time zone",
2159
+ "primaryKey": false,
2160
+ "notNull": true,
2161
+ "default": "now()"
2162
+ },
2163
+ "updated_at": {
2164
+ "name": "updated_at",
2165
+ "type": "timestamp with time zone",
2166
+ "primaryKey": false,
2167
+ "notNull": true,
2168
+ "default": "now()"
2169
+ }
2170
+ },
2171
+ "indexes": {},
2172
+ "foreignKeys": {
2173
+ "menus_space_id_spaces_id_fk": {
2174
+ "name": "menus_space_id_spaces_id_fk",
2175
+ "tableFrom": "menus",
2176
+ "tableTo": "spaces",
2177
+ "columnsFrom": [
2178
+ "space_id"
2179
+ ],
2180
+ "columnsTo": [
2181
+ "id"
2182
+ ],
2183
+ "onDelete": "cascade",
2184
+ "onUpdate": "no action"
2185
+ }
2186
+ },
2187
+ "compositePrimaryKeys": {},
2188
+ "uniqueConstraints": {
2189
+ "menus_space_machine_name_key": {
2190
+ "name": "menus_space_machine_name_key",
2191
+ "nullsNotDistinct": false,
2192
+ "columns": [
2193
+ "space_id",
2194
+ "machine_name"
2195
+ ]
2196
+ }
2197
+ },
2198
+ "policies": {},
2199
+ "checkConstraints": {},
2200
+ "isRLSEnabled": false
2201
+ },
2202
+ "public.spaces": {
2203
+ "name": "spaces",
2204
+ "schema": "",
2205
+ "columns": {
2206
+ "id": {
2207
+ "name": "id",
2208
+ "type": "uuid",
2209
+ "primaryKey": true,
2210
+ "notNull": true,
2211
+ "default": "gen_random_uuid()"
2212
+ },
2213
+ "name": {
2214
+ "name": "name",
2215
+ "type": "text",
2216
+ "primaryKey": false,
2217
+ "notNull": true
2218
+ },
2219
+ "machine_name": {
2220
+ "name": "machine_name",
2221
+ "type": "text",
2222
+ "primaryKey": false,
2223
+ "notNull": true
2224
+ },
2225
+ "description": {
2226
+ "name": "description",
2227
+ "type": "text",
2228
+ "primaryKey": false,
2229
+ "notNull": false
2230
+ },
2231
+ "url": {
2232
+ "name": "url",
2233
+ "type": "text",
2234
+ "primaryKey": false,
2235
+ "notNull": true
2236
+ },
2237
+ "default_locale": {
2238
+ "name": "default_locale",
2239
+ "type": "text",
2240
+ "primaryKey": false,
2241
+ "notNull": true,
2242
+ "default": "'en'"
2243
+ },
2244
+ "locales": {
2245
+ "name": "locales",
2246
+ "type": "jsonb",
2247
+ "primaryKey": false,
2248
+ "notNull": true,
2249
+ "default": "'[\"en\"]'::jsonb"
2250
+ },
2251
+ "settings": {
2252
+ "name": "settings",
2253
+ "type": "jsonb",
2254
+ "primaryKey": false,
2255
+ "notNull": true,
2256
+ "default": "'{}'::jsonb"
2257
+ },
2258
+ "created_at": {
2259
+ "name": "created_at",
2260
+ "type": "timestamp with time zone",
2261
+ "primaryKey": false,
2262
+ "notNull": true,
2263
+ "default": "now()"
2264
+ },
2265
+ "updated_at": {
2266
+ "name": "updated_at",
2267
+ "type": "timestamp with time zone",
2268
+ "primaryKey": false,
2269
+ "notNull": true,
2270
+ "default": "now()"
2271
+ }
2272
+ },
2273
+ "indexes": {
2274
+ "spaces_machine_name_key": {
2275
+ "name": "spaces_machine_name_key",
2276
+ "columns": [
2277
+ {
2278
+ "expression": "machine_name",
2279
+ "isExpression": false,
2280
+ "asc": true,
2281
+ "nulls": "last"
2282
+ }
2283
+ ],
2284
+ "isUnique": true,
2285
+ "concurrently": false,
2286
+ "method": "btree",
2287
+ "with": {}
2288
+ }
2289
+ },
2290
+ "foreignKeys": {},
2291
+ "compositePrimaryKeys": {},
2292
+ "uniqueConstraints": {},
2293
+ "policies": {},
2294
+ "checkConstraints": {},
2295
+ "isRLSEnabled": false
2296
+ },
2297
+ "public.webhook_deliveries": {
2298
+ "name": "webhook_deliveries",
2299
+ "schema": "",
2300
+ "columns": {
2301
+ "id": {
2302
+ "name": "id",
2303
+ "type": "uuid",
2304
+ "primaryKey": true,
2305
+ "notNull": true,
2306
+ "default": "gen_random_uuid()"
2307
+ },
2308
+ "webhook_id": {
2309
+ "name": "webhook_id",
2310
+ "type": "uuid",
2311
+ "primaryKey": false,
2312
+ "notNull": true
2313
+ },
2314
+ "event": {
2315
+ "name": "event",
2316
+ "type": "text",
2317
+ "primaryKey": false,
2318
+ "notNull": true
2319
+ },
2320
+ "payload": {
2321
+ "name": "payload",
2322
+ "type": "jsonb",
2323
+ "primaryKey": false,
2324
+ "notNull": true
2325
+ },
2326
+ "status": {
2327
+ "name": "status",
2328
+ "type": "integer",
2329
+ "primaryKey": false,
2330
+ "notNull": false
2331
+ },
2332
+ "error": {
2333
+ "name": "error",
2334
+ "type": "text",
2335
+ "primaryKey": false,
2336
+ "notNull": false
2337
+ },
2338
+ "attempt": {
2339
+ "name": "attempt",
2340
+ "type": "integer",
2341
+ "primaryKey": false,
2342
+ "notNull": true,
2343
+ "default": 1
2344
+ },
2345
+ "created_at": {
2346
+ "name": "created_at",
2347
+ "type": "timestamp with time zone",
2348
+ "primaryKey": false,
2349
+ "notNull": true,
2350
+ "default": "now()"
2351
+ }
2352
+ },
2353
+ "indexes": {
2354
+ "webhook_deliveries_webhook_idx": {
2355
+ "name": "webhook_deliveries_webhook_idx",
2356
+ "columns": [
2357
+ {
2358
+ "expression": "webhook_id",
2359
+ "isExpression": false,
2360
+ "asc": true,
2361
+ "nulls": "last"
2362
+ },
2363
+ {
2364
+ "expression": "created_at",
2365
+ "isExpression": false,
2366
+ "asc": true,
2367
+ "nulls": "last"
2368
+ }
2369
+ ],
2370
+ "isUnique": false,
2371
+ "concurrently": false,
2372
+ "method": "btree",
2373
+ "with": {}
2374
+ }
2375
+ },
2376
+ "foreignKeys": {
2377
+ "webhook_deliveries_webhook_id_webhooks_id_fk": {
2378
+ "name": "webhook_deliveries_webhook_id_webhooks_id_fk",
2379
+ "tableFrom": "webhook_deliveries",
2380
+ "tableTo": "webhooks",
2381
+ "columnsFrom": [
2382
+ "webhook_id"
2383
+ ],
2384
+ "columnsTo": [
2385
+ "id"
2386
+ ],
2387
+ "onDelete": "cascade",
2388
+ "onUpdate": "no action"
2389
+ }
2390
+ },
2391
+ "compositePrimaryKeys": {},
2392
+ "uniqueConstraints": {},
2393
+ "policies": {},
2394
+ "checkConstraints": {},
2395
+ "isRLSEnabled": false
2396
+ },
2397
+ "public.webhooks": {
2398
+ "name": "webhooks",
2399
+ "schema": "",
2400
+ "columns": {
2401
+ "id": {
2402
+ "name": "id",
2403
+ "type": "uuid",
2404
+ "primaryKey": true,
2405
+ "notNull": true,
2406
+ "default": "gen_random_uuid()"
2407
+ },
2408
+ "space_id": {
2409
+ "name": "space_id",
2410
+ "type": "uuid",
2411
+ "primaryKey": false,
2412
+ "notNull": true
2413
+ },
2414
+ "name": {
2415
+ "name": "name",
2416
+ "type": "text",
2417
+ "primaryKey": false,
2418
+ "notNull": true
2419
+ },
2420
+ "url": {
2421
+ "name": "url",
2422
+ "type": "text",
2423
+ "primaryKey": false,
2424
+ "notNull": true
2425
+ },
2426
+ "secret": {
2427
+ "name": "secret",
2428
+ "type": "text",
2429
+ "primaryKey": false,
2430
+ "notNull": false
2431
+ },
2432
+ "events": {
2433
+ "name": "events",
2434
+ "type": "jsonb",
2435
+ "primaryKey": false,
2436
+ "notNull": true,
2437
+ "default": "'[]'::jsonb"
2438
+ },
2439
+ "enabled": {
2440
+ "name": "enabled",
2441
+ "type": "boolean",
2442
+ "primaryKey": false,
2443
+ "notNull": true,
2444
+ "default": true
2445
+ },
2446
+ "created_at": {
2447
+ "name": "created_at",
2448
+ "type": "timestamp with time zone",
2449
+ "primaryKey": false,
2450
+ "notNull": true,
2451
+ "default": "now()"
2452
+ }
2453
+ },
2454
+ "indexes": {
2455
+ "webhooks_space_idx": {
2456
+ "name": "webhooks_space_idx",
2457
+ "columns": [
2458
+ {
2459
+ "expression": "space_id",
2460
+ "isExpression": false,
2461
+ "asc": true,
2462
+ "nulls": "last"
2463
+ }
2464
+ ],
2465
+ "isUnique": false,
2466
+ "concurrently": false,
2467
+ "method": "btree",
2468
+ "with": {}
2469
+ }
2470
+ },
2471
+ "foreignKeys": {
2472
+ "webhooks_space_id_spaces_id_fk": {
2473
+ "name": "webhooks_space_id_spaces_id_fk",
2474
+ "tableFrom": "webhooks",
2475
+ "tableTo": "spaces",
2476
+ "columnsFrom": [
2477
+ "space_id"
2478
+ ],
2479
+ "columnsTo": [
2480
+ "id"
2481
+ ],
2482
+ "onDelete": "cascade",
2483
+ "onUpdate": "no action"
2484
+ }
2485
+ },
2486
+ "compositePrimaryKeys": {},
2487
+ "uniqueConstraints": {},
2488
+ "policies": {},
2489
+ "checkConstraints": {},
2490
+ "isRLSEnabled": false
2491
+ }
2492
+ },
2493
+ "enums": {},
2494
+ "schemas": {},
2495
+ "sequences": {},
2496
+ "roles": {},
2497
+ "policies": {},
2498
+ "views": {},
2499
+ "_meta": {
2500
+ "columns": {},
2501
+ "schemas": {},
2502
+ "tables": {}
2503
+ }
2504
+ }