@hogsend/db 0.0.1

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