@chaos-overlords/storage 0.7.1 → 0.8.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 (36) hide show
  1. package/dist/node/index.d.ts +6 -0
  2. package/dist/node/index.d.ts.map +1 -1
  3. package/dist/node/index.js +21 -1
  4. package/dist/node/index.js.map +1 -1
  5. package/dist/postgres/repositories.d.ts.map +1 -1
  6. package/dist/postgres/repositories.js +111 -1
  7. package/dist/postgres/repositories.js.map +1 -1
  8. package/dist/postgres/schema.d.ts +220 -0
  9. package/dist/postgres/schema.d.ts.map +1 -1
  10. package/dist/postgres/schema.js +23 -0
  11. package/dist/postgres/schema.js.map +1 -1
  12. package/dist/shared/constraints.d.ts.map +1 -1
  13. package/dist/shared/constraints.js +8 -2
  14. package/dist/shared/constraints.js.map +1 -1
  15. package/dist/shared/mappers.d.ts +14 -1
  16. package/dist/shared/mappers.d.ts.map +1 -1
  17. package/dist/shared/mappers.js +20 -5
  18. package/dist/shared/mappers.js.map +1 -1
  19. package/dist/sqlite/repositories.d.ts.map +1 -1
  20. package/dist/sqlite/repositories.js +111 -1
  21. package/dist/sqlite/repositories.js.map +1 -1
  22. package/dist/sqlite/schema.d.ts +237 -0
  23. package/dist/sqlite/schema.d.ts.map +1 -1
  24. package/dist/sqlite/schema.js +28 -0
  25. package/dist/sqlite/schema.js.map +1 -1
  26. package/migrations/postgres/0003_famous_wong.sql +19 -0
  27. package/migrations/postgres/0004_big_master_mold.sql +3 -0
  28. package/migrations/postgres/meta/0003_snapshot.json +827 -0
  29. package/migrations/postgres/meta/0004_snapshot.json +848 -0
  30. package/migrations/postgres/meta/_journal.json +15 -1
  31. package/migrations/sqlite/0003_opposite_serpent_society.sql +18 -0
  32. package/migrations/sqlite/0004_smooth_albert_cleary.sql +3 -0
  33. package/migrations/sqlite/meta/0003_snapshot.json +813 -0
  34. package/migrations/sqlite/meta/0004_snapshot.json +837 -0
  35. package/migrations/sqlite/meta/_journal.json +15 -1
  36. package/package.json +4 -4
@@ -0,0 +1,827 @@
1
+ {
2
+ "id": "9e96093b-e63b-431d-8f33-b8a799450eab",
3
+ "prevId": "31d09ef4-7659-4d72-86b4-809ea78b6542",
4
+ "version": "7",
5
+ "dialect": "postgresql",
6
+ "tables": {
7
+ "public.match_events": {
8
+ "name": "match_events",
9
+ "schema": "",
10
+ "columns": {
11
+ "match_id": {
12
+ "name": "match_id",
13
+ "type": "text",
14
+ "primaryKey": false,
15
+ "notNull": true
16
+ },
17
+ "seq": {
18
+ "name": "seq",
19
+ "type": "integer",
20
+ "primaryKey": false,
21
+ "notNull": true
22
+ },
23
+ "type": {
24
+ "name": "type",
25
+ "type": "text",
26
+ "primaryKey": false,
27
+ "notNull": true
28
+ },
29
+ "payload": {
30
+ "name": "payload",
31
+ "type": "jsonb",
32
+ "primaryKey": false,
33
+ "notNull": true
34
+ },
35
+ "created_at": {
36
+ "name": "created_at",
37
+ "type": "timestamp with time zone",
38
+ "primaryKey": false,
39
+ "notNull": true
40
+ }
41
+ },
42
+ "indexes": {},
43
+ "foreignKeys": {
44
+ "match_events_match_id_matches_id_fk": {
45
+ "name": "match_events_match_id_matches_id_fk",
46
+ "tableFrom": "match_events",
47
+ "tableTo": "matches",
48
+ "columnsFrom": [
49
+ "match_id"
50
+ ],
51
+ "columnsTo": [
52
+ "id"
53
+ ],
54
+ "onDelete": "cascade",
55
+ "onUpdate": "no action"
56
+ }
57
+ },
58
+ "compositePrimaryKeys": {
59
+ "match_events_match_id_seq_pk": {
60
+ "name": "match_events_match_id_seq_pk",
61
+ "columns": [
62
+ "match_id",
63
+ "seq"
64
+ ]
65
+ }
66
+ },
67
+ "uniqueConstraints": {},
68
+ "policies": {},
69
+ "checkConstraints": {},
70
+ "isRLSEnabled": false
71
+ },
72
+ "public.matches": {
73
+ "name": "matches",
74
+ "schema": "",
75
+ "columns": {
76
+ "id": {
77
+ "name": "id",
78
+ "type": "text",
79
+ "primaryKey": true,
80
+ "notNull": true
81
+ },
82
+ "protocol_version": {
83
+ "name": "protocol_version",
84
+ "type": "integer",
85
+ "primaryKey": false,
86
+ "notNull": true,
87
+ "default": 1
88
+ },
89
+ "status": {
90
+ "name": "status",
91
+ "type": "text",
92
+ "primaryKey": false,
93
+ "notNull": true
94
+ },
95
+ "name": {
96
+ "name": "name",
97
+ "type": "text",
98
+ "primaryKey": false,
99
+ "notNull": true
100
+ },
101
+ "visibility": {
102
+ "name": "visibility",
103
+ "type": "text",
104
+ "primaryKey": false,
105
+ "notNull": true
106
+ },
107
+ "max_players": {
108
+ "name": "max_players",
109
+ "type": "integer",
110
+ "primaryKey": false,
111
+ "notNull": true
112
+ },
113
+ "settings": {
114
+ "name": "settings",
115
+ "type": "jsonb",
116
+ "primaryKey": false,
117
+ "notNull": true
118
+ },
119
+ "host_player_id": {
120
+ "name": "host_player_id",
121
+ "type": "text",
122
+ "primaryKey": false,
123
+ "notNull": true
124
+ },
125
+ "join_code": {
126
+ "name": "join_code",
127
+ "type": "text",
128
+ "primaryKey": false,
129
+ "notNull": true
130
+ },
131
+ "password_hash": {
132
+ "name": "password_hash",
133
+ "type": "text",
134
+ "primaryKey": false,
135
+ "notNull": false
136
+ },
137
+ "seed": {
138
+ "name": "seed",
139
+ "type": "integer",
140
+ "primaryKey": false,
141
+ "notNull": false
142
+ },
143
+ "current_turn": {
144
+ "name": "current_turn",
145
+ "type": "integer",
146
+ "primaryKey": false,
147
+ "notNull": true,
148
+ "default": 0
149
+ },
150
+ "seat_count": {
151
+ "name": "seat_count",
152
+ "type": "integer",
153
+ "primaryKey": false,
154
+ "notNull": true,
155
+ "default": 1
156
+ },
157
+ "join_counter": {
158
+ "name": "join_counter",
159
+ "type": "integer",
160
+ "primaryKey": false,
161
+ "notNull": true,
162
+ "default": 1
163
+ },
164
+ "created_at": {
165
+ "name": "created_at",
166
+ "type": "timestamp with time zone",
167
+ "primaryKey": false,
168
+ "notNull": true
169
+ },
170
+ "updated_at": {
171
+ "name": "updated_at",
172
+ "type": "timestamp with time zone",
173
+ "primaryKey": false,
174
+ "notNull": true
175
+ }
176
+ },
177
+ "indexes": {
178
+ "matches_status_updated_idx": {
179
+ "name": "matches_status_updated_idx",
180
+ "columns": [
181
+ {
182
+ "expression": "status",
183
+ "isExpression": false,
184
+ "asc": true,
185
+ "nulls": "last"
186
+ },
187
+ {
188
+ "expression": "updated_at",
189
+ "isExpression": false,
190
+ "asc": true,
191
+ "nulls": "last"
192
+ }
193
+ ],
194
+ "isUnique": false,
195
+ "concurrently": false,
196
+ "method": "btree",
197
+ "with": {}
198
+ },
199
+ "matches_lobby_idx": {
200
+ "name": "matches_lobby_idx",
201
+ "columns": [
202
+ {
203
+ "expression": "status",
204
+ "isExpression": false,
205
+ "asc": true,
206
+ "nulls": "last"
207
+ },
208
+ {
209
+ "expression": "visibility",
210
+ "isExpression": false,
211
+ "asc": true,
212
+ "nulls": "last"
213
+ },
214
+ {
215
+ "expression": "created_at",
216
+ "isExpression": false,
217
+ "asc": true,
218
+ "nulls": "last"
219
+ }
220
+ ],
221
+ "isUnique": false,
222
+ "concurrently": false,
223
+ "method": "btree",
224
+ "with": {}
225
+ }
226
+ },
227
+ "foreignKeys": {},
228
+ "compositePrimaryKeys": {},
229
+ "uniqueConstraints": {
230
+ "matches_join_code_unique": {
231
+ "name": "matches_join_code_unique",
232
+ "nullsNotDistinct": false,
233
+ "columns": [
234
+ "join_code"
235
+ ]
236
+ }
237
+ },
238
+ "policies": {},
239
+ "checkConstraints": {},
240
+ "isRLSEnabled": false
241
+ },
242
+ "public.players": {
243
+ "name": "players",
244
+ "schema": "",
245
+ "columns": {
246
+ "id": {
247
+ "name": "id",
248
+ "type": "text",
249
+ "primaryKey": true,
250
+ "notNull": true
251
+ },
252
+ "match_id": {
253
+ "name": "match_id",
254
+ "type": "text",
255
+ "primaryKey": false,
256
+ "notNull": true
257
+ },
258
+ "slot": {
259
+ "name": "slot",
260
+ "type": "integer",
261
+ "primaryKey": false,
262
+ "notNull": true,
263
+ "default": -1
264
+ },
265
+ "join_order": {
266
+ "name": "join_order",
267
+ "type": "integer",
268
+ "primaryKey": false,
269
+ "notNull": true,
270
+ "default": 0
271
+ },
272
+ "display_name": {
273
+ "name": "display_name",
274
+ "type": "text",
275
+ "primaryKey": false,
276
+ "notNull": true
277
+ },
278
+ "token_hash": {
279
+ "name": "token_hash",
280
+ "type": "text",
281
+ "primaryKey": false,
282
+ "notNull": false
283
+ },
284
+ "status": {
285
+ "name": "status",
286
+ "type": "text",
287
+ "primaryKey": false,
288
+ "notNull": true
289
+ },
290
+ "joined_at": {
291
+ "name": "joined_at",
292
+ "type": "timestamp with time zone",
293
+ "primaryKey": false,
294
+ "notNull": true
295
+ }
296
+ },
297
+ "indexes": {
298
+ "players_match_idx": {
299
+ "name": "players_match_idx",
300
+ "columns": [
301
+ {
302
+ "expression": "match_id",
303
+ "isExpression": false,
304
+ "asc": true,
305
+ "nulls": "last"
306
+ }
307
+ ],
308
+ "isUnique": false,
309
+ "concurrently": false,
310
+ "method": "btree",
311
+ "with": {}
312
+ }
313
+ },
314
+ "foreignKeys": {
315
+ "players_match_id_matches_id_fk": {
316
+ "name": "players_match_id_matches_id_fk",
317
+ "tableFrom": "players",
318
+ "tableTo": "matches",
319
+ "columnsFrom": [
320
+ "match_id"
321
+ ],
322
+ "columnsTo": [
323
+ "id"
324
+ ],
325
+ "onDelete": "cascade",
326
+ "onUpdate": "no action"
327
+ }
328
+ },
329
+ "compositePrimaryKeys": {},
330
+ "uniqueConstraints": {
331
+ "players_token_hash_unique": {
332
+ "name": "players_token_hash_unique",
333
+ "nullsNotDistinct": false,
334
+ "columns": [
335
+ "token_hash"
336
+ ]
337
+ }
338
+ },
339
+ "policies": {},
340
+ "checkConstraints": {},
341
+ "isRLSEnabled": false
342
+ },
343
+ "public.snapshots": {
344
+ "name": "snapshots",
345
+ "schema": "",
346
+ "columns": {
347
+ "match_id": {
348
+ "name": "match_id",
349
+ "type": "text",
350
+ "primaryKey": false,
351
+ "notNull": true
352
+ },
353
+ "turn": {
354
+ "name": "turn",
355
+ "type": "integer",
356
+ "primaryKey": false,
357
+ "notNull": true
358
+ },
359
+ "format_version": {
360
+ "name": "format_version",
361
+ "type": "integer",
362
+ "primaryKey": false,
363
+ "notNull": true
364
+ },
365
+ "protocol_version": {
366
+ "name": "protocol_version",
367
+ "type": "integer",
368
+ "primaryKey": false,
369
+ "notNull": true,
370
+ "default": 1
371
+ },
372
+ "state_hash": {
373
+ "name": "state_hash",
374
+ "type": "text",
375
+ "primaryKey": false,
376
+ "notNull": true
377
+ },
378
+ "uploaded_by_player_id": {
379
+ "name": "uploaded_by_player_id",
380
+ "type": "text",
381
+ "primaryKey": false,
382
+ "notNull": true
383
+ },
384
+ "uploaded_at": {
385
+ "name": "uploaded_at",
386
+ "type": "timestamp with time zone",
387
+ "primaryKey": false,
388
+ "notNull": true
389
+ },
390
+ "body": {
391
+ "name": "body",
392
+ "type": "text",
393
+ "primaryKey": false,
394
+ "notNull": true
395
+ }
396
+ },
397
+ "indexes": {},
398
+ "foreignKeys": {
399
+ "snapshots_match_id_matches_id_fk": {
400
+ "name": "snapshots_match_id_matches_id_fk",
401
+ "tableFrom": "snapshots",
402
+ "tableTo": "matches",
403
+ "columnsFrom": [
404
+ "match_id"
405
+ ],
406
+ "columnsTo": [
407
+ "id"
408
+ ],
409
+ "onDelete": "cascade",
410
+ "onUpdate": "no action"
411
+ }
412
+ },
413
+ "compositePrimaryKeys": {
414
+ "snapshots_match_id_turn_pk": {
415
+ "name": "snapshots_match_id_turn_pk",
416
+ "columns": [
417
+ "match_id",
418
+ "turn"
419
+ ]
420
+ }
421
+ },
422
+ "uniqueConstraints": {},
423
+ "policies": {},
424
+ "checkConstraints": {},
425
+ "isRLSEnabled": false
426
+ },
427
+ "public.takeover_prompts": {
428
+ "name": "takeover_prompts",
429
+ "schema": "",
430
+ "columns": {
431
+ "match_id": {
432
+ "name": "match_id",
433
+ "type": "text",
434
+ "primaryKey": false,
435
+ "notNull": true
436
+ },
437
+ "player_id": {
438
+ "name": "player_id",
439
+ "type": "text",
440
+ "primaryKey": false,
441
+ "notNull": true
442
+ },
443
+ "turn": {
444
+ "name": "turn",
445
+ "type": "integer",
446
+ "primaryKey": false,
447
+ "notNull": true
448
+ },
449
+ "opened_at": {
450
+ "name": "opened_at",
451
+ "type": "timestamp with time zone",
452
+ "primaryKey": false,
453
+ "notNull": true
454
+ }
455
+ },
456
+ "indexes": {},
457
+ "foreignKeys": {
458
+ "takeover_prompts_match_id_matches_id_fk": {
459
+ "name": "takeover_prompts_match_id_matches_id_fk",
460
+ "tableFrom": "takeover_prompts",
461
+ "tableTo": "matches",
462
+ "columnsFrom": [
463
+ "match_id"
464
+ ],
465
+ "columnsTo": [
466
+ "id"
467
+ ],
468
+ "onDelete": "cascade",
469
+ "onUpdate": "no action"
470
+ }
471
+ },
472
+ "compositePrimaryKeys": {
473
+ "takeover_prompts_match_id_player_id_pk": {
474
+ "name": "takeover_prompts_match_id_player_id_pk",
475
+ "columns": [
476
+ "match_id",
477
+ "player_id"
478
+ ]
479
+ }
480
+ },
481
+ "uniqueConstraints": {},
482
+ "policies": {},
483
+ "checkConstraints": {},
484
+ "isRLSEnabled": false
485
+ },
486
+ "public.takeover_votes": {
487
+ "name": "takeover_votes",
488
+ "schema": "",
489
+ "columns": {
490
+ "match_id": {
491
+ "name": "match_id",
492
+ "type": "text",
493
+ "primaryKey": false,
494
+ "notNull": true
495
+ },
496
+ "target_player_id": {
497
+ "name": "target_player_id",
498
+ "type": "text",
499
+ "primaryKey": false,
500
+ "notNull": true
501
+ },
502
+ "voter_player_id": {
503
+ "name": "voter_player_id",
504
+ "type": "text",
505
+ "primaryKey": false,
506
+ "notNull": true
507
+ },
508
+ "decision": {
509
+ "name": "decision",
510
+ "type": "text",
511
+ "primaryKey": false,
512
+ "notNull": true
513
+ },
514
+ "cast_at": {
515
+ "name": "cast_at",
516
+ "type": "timestamp with time zone",
517
+ "primaryKey": false,
518
+ "notNull": true
519
+ }
520
+ },
521
+ "indexes": {},
522
+ "foreignKeys": {
523
+ "takeover_votes_match_id_matches_id_fk": {
524
+ "name": "takeover_votes_match_id_matches_id_fk",
525
+ "tableFrom": "takeover_votes",
526
+ "tableTo": "matches",
527
+ "columnsFrom": [
528
+ "match_id"
529
+ ],
530
+ "columnsTo": [
531
+ "id"
532
+ ],
533
+ "onDelete": "cascade",
534
+ "onUpdate": "no action"
535
+ }
536
+ },
537
+ "compositePrimaryKeys": {
538
+ "takeover_votes_match_id_target_player_id_voter_player_id_pk": {
539
+ "name": "takeover_votes_match_id_target_player_id_voter_player_id_pk",
540
+ "columns": [
541
+ "match_id",
542
+ "target_player_id",
543
+ "voter_player_id"
544
+ ]
545
+ }
546
+ },
547
+ "uniqueConstraints": {},
548
+ "policies": {},
549
+ "checkConstraints": {},
550
+ "isRLSEnabled": false
551
+ },
552
+ "public.turn_orders": {
553
+ "name": "turn_orders",
554
+ "schema": "",
555
+ "columns": {
556
+ "match_id": {
557
+ "name": "match_id",
558
+ "type": "text",
559
+ "primaryKey": false,
560
+ "notNull": true
561
+ },
562
+ "turn": {
563
+ "name": "turn",
564
+ "type": "integer",
565
+ "primaryKey": false,
566
+ "notNull": true
567
+ },
568
+ "player_id": {
569
+ "name": "player_id",
570
+ "type": "text",
571
+ "primaryKey": false,
572
+ "notNull": true
573
+ },
574
+ "orders": {
575
+ "name": "orders",
576
+ "type": "jsonb",
577
+ "primaryKey": false,
578
+ "notNull": false
579
+ },
580
+ "orders_hash": {
581
+ "name": "orders_hash",
582
+ "type": "text",
583
+ "primaryKey": false,
584
+ "notNull": false
585
+ },
586
+ "ready": {
587
+ "name": "ready",
588
+ "type": "boolean",
589
+ "primaryKey": false,
590
+ "notNull": true,
591
+ "default": false
592
+ },
593
+ "submitted_at": {
594
+ "name": "submitted_at",
595
+ "type": "timestamp with time zone",
596
+ "primaryKey": false,
597
+ "notNull": false
598
+ }
599
+ },
600
+ "indexes": {},
601
+ "foreignKeys": {
602
+ "turn_orders_match_id_matches_id_fk": {
603
+ "name": "turn_orders_match_id_matches_id_fk",
604
+ "tableFrom": "turn_orders",
605
+ "tableTo": "matches",
606
+ "columnsFrom": [
607
+ "match_id"
608
+ ],
609
+ "columnsTo": [
610
+ "id"
611
+ ],
612
+ "onDelete": "cascade",
613
+ "onUpdate": "no action"
614
+ }
615
+ },
616
+ "compositePrimaryKeys": {
617
+ "turn_orders_match_id_turn_player_id_pk": {
618
+ "name": "turn_orders_match_id_turn_player_id_pk",
619
+ "columns": [
620
+ "match_id",
621
+ "turn",
622
+ "player_id"
623
+ ]
624
+ }
625
+ },
626
+ "uniqueConstraints": {},
627
+ "policies": {},
628
+ "checkConstraints": {},
629
+ "isRLSEnabled": false
630
+ },
631
+ "public.turn_reports": {
632
+ "name": "turn_reports",
633
+ "schema": "",
634
+ "columns": {
635
+ "match_id": {
636
+ "name": "match_id",
637
+ "type": "text",
638
+ "primaryKey": false,
639
+ "notNull": true
640
+ },
641
+ "turn": {
642
+ "name": "turn",
643
+ "type": "integer",
644
+ "primaryKey": false,
645
+ "notNull": true
646
+ },
647
+ "player_id": {
648
+ "name": "player_id",
649
+ "type": "text",
650
+ "primaryKey": false,
651
+ "notNull": true
652
+ },
653
+ "state_hash": {
654
+ "name": "state_hash",
655
+ "type": "text",
656
+ "primaryKey": false,
657
+ "notNull": true
658
+ },
659
+ "finished": {
660
+ "name": "finished",
661
+ "type": "boolean",
662
+ "primaryKey": false,
663
+ "notNull": true,
664
+ "default": false
665
+ },
666
+ "reported_at": {
667
+ "name": "reported_at",
668
+ "type": "timestamp with time zone",
669
+ "primaryKey": false,
670
+ "notNull": true
671
+ }
672
+ },
673
+ "indexes": {},
674
+ "foreignKeys": {
675
+ "turn_reports_match_id_matches_id_fk": {
676
+ "name": "turn_reports_match_id_matches_id_fk",
677
+ "tableFrom": "turn_reports",
678
+ "tableTo": "matches",
679
+ "columnsFrom": [
680
+ "match_id"
681
+ ],
682
+ "columnsTo": [
683
+ "id"
684
+ ],
685
+ "onDelete": "cascade",
686
+ "onUpdate": "no action"
687
+ }
688
+ },
689
+ "compositePrimaryKeys": {
690
+ "turn_reports_match_id_turn_player_id_pk": {
691
+ "name": "turn_reports_match_id_turn_player_id_pk",
692
+ "columns": [
693
+ "match_id",
694
+ "turn",
695
+ "player_id"
696
+ ]
697
+ }
698
+ },
699
+ "uniqueConstraints": {},
700
+ "policies": {},
701
+ "checkConstraints": {},
702
+ "isRLSEnabled": false
703
+ },
704
+ "public.turns": {
705
+ "name": "turns",
706
+ "schema": "",
707
+ "columns": {
708
+ "match_id": {
709
+ "name": "match_id",
710
+ "type": "text",
711
+ "primaryKey": false,
712
+ "notNull": true
713
+ },
714
+ "number": {
715
+ "name": "number",
716
+ "type": "integer",
717
+ "primaryKey": false,
718
+ "notNull": true
719
+ },
720
+ "status": {
721
+ "name": "status",
722
+ "type": "text",
723
+ "primaryKey": false,
724
+ "notNull": true
725
+ },
726
+ "opened_at": {
727
+ "name": "opened_at",
728
+ "type": "timestamp with time zone",
729
+ "primaryKey": false,
730
+ "notNull": true
731
+ },
732
+ "deadline_at": {
733
+ "name": "deadline_at",
734
+ "type": "timestamp with time zone",
735
+ "primaryKey": false,
736
+ "notNull": false
737
+ },
738
+ "sealed_at": {
739
+ "name": "sealed_at",
740
+ "type": "timestamp with time zone",
741
+ "primaryKey": false,
742
+ "notNull": false
743
+ },
744
+ "order_set_hash": {
745
+ "name": "order_set_hash",
746
+ "type": "text",
747
+ "primaryKey": false,
748
+ "notNull": false
749
+ },
750
+ "sealed_slots": {
751
+ "name": "sealed_slots",
752
+ "type": "jsonb",
753
+ "primaryKey": false,
754
+ "notNull": false
755
+ },
756
+ "state_hash": {
757
+ "name": "state_hash",
758
+ "type": "text",
759
+ "primaryKey": false,
760
+ "notNull": false
761
+ }
762
+ },
763
+ "indexes": {
764
+ "turns_deadline_idx": {
765
+ "name": "turns_deadline_idx",
766
+ "columns": [
767
+ {
768
+ "expression": "status",
769
+ "isExpression": false,
770
+ "asc": true,
771
+ "nulls": "last"
772
+ },
773
+ {
774
+ "expression": "deadline_at",
775
+ "isExpression": false,
776
+ "asc": true,
777
+ "nulls": "last"
778
+ }
779
+ ],
780
+ "isUnique": false,
781
+ "concurrently": false,
782
+ "method": "btree",
783
+ "with": {}
784
+ }
785
+ },
786
+ "foreignKeys": {
787
+ "turns_match_id_matches_id_fk": {
788
+ "name": "turns_match_id_matches_id_fk",
789
+ "tableFrom": "turns",
790
+ "tableTo": "matches",
791
+ "columnsFrom": [
792
+ "match_id"
793
+ ],
794
+ "columnsTo": [
795
+ "id"
796
+ ],
797
+ "onDelete": "cascade",
798
+ "onUpdate": "no action"
799
+ }
800
+ },
801
+ "compositePrimaryKeys": {
802
+ "turns_match_id_number_pk": {
803
+ "name": "turns_match_id_number_pk",
804
+ "columns": [
805
+ "match_id",
806
+ "number"
807
+ ]
808
+ }
809
+ },
810
+ "uniqueConstraints": {},
811
+ "policies": {},
812
+ "checkConstraints": {},
813
+ "isRLSEnabled": false
814
+ }
815
+ },
816
+ "enums": {},
817
+ "schemas": {},
818
+ "sequences": {},
819
+ "roles": {},
820
+ "policies": {},
821
+ "views": {},
822
+ "_meta": {
823
+ "columns": {},
824
+ "schemas": {},
825
+ "tables": {}
826
+ }
827
+ }