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