@chaos-overlords/storage 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/LICENSE +674 -0
  2. package/NOTICE +21 -0
  3. package/README.md +35 -0
  4. package/dist/node/index.d.ts +29 -0
  5. package/dist/node/index.d.ts.map +1 -0
  6. package/dist/node/index.js +60 -0
  7. package/dist/node/index.js.map +1 -0
  8. package/dist/postgres/index.d.ts +3 -0
  9. package/dist/postgres/index.d.ts.map +1 -0
  10. package/dist/postgres/index.js +3 -0
  11. package/dist/postgres/index.js.map +1 -0
  12. package/dist/postgres/repositories.d.ts +11 -0
  13. package/dist/postgres/repositories.d.ts.map +1 -0
  14. package/dist/postgres/repositories.js +396 -0
  15. package/dist/postgres/repositories.js.map +1 -0
  16. package/dist/postgres/schema.d.ts +1002 -0
  17. package/dist/postgres/schema.d.ts.map +1 -0
  18. package/dist/postgres/schema.js +103 -0
  19. package/dist/postgres/schema.js.map +1 -0
  20. package/dist/shared/constraints.d.ts +6 -0
  21. package/dist/shared/constraints.d.ts.map +1 -0
  22. package/dist/shared/constraints.js +49 -0
  23. package/dist/shared/constraints.js.map +1 -0
  24. package/dist/shared/mappers.d.ts +105 -0
  25. package/dist/shared/mappers.d.ts.map +1 -0
  26. package/dist/shared/mappers.js +55 -0
  27. package/dist/shared/mappers.js.map +1 -0
  28. package/dist/sqlite/index.d.ts +3 -0
  29. package/dist/sqlite/index.d.ts.map +1 -0
  30. package/dist/sqlite/index.js +3 -0
  31. package/dist/sqlite/index.js.map +1 -0
  32. package/dist/sqlite/repositories.d.ts +11 -0
  33. package/dist/sqlite/repositories.d.ts.map +1 -0
  34. package/dist/sqlite/repositories.js +392 -0
  35. package/dist/sqlite/repositories.js.map +1 -0
  36. package/dist/sqlite/schema.d.ts +1063 -0
  37. package/dist/sqlite/schema.d.ts.map +1 -0
  38. package/dist/sqlite/schema.js +103 -0
  39. package/dist/sqlite/schema.js.map +1 -0
  40. package/migrations/postgres/0000_glorious_zaladane.sql +94 -0
  41. package/migrations/postgres/meta/0000_snapshot.json +637 -0
  42. package/migrations/postgres/meta/_journal.json +13 -0
  43. package/migrations/sqlite/0000_exotic_warbird.sql +94 -0
  44. package/migrations/sqlite/meta/0000_snapshot.json +605 -0
  45. package/migrations/sqlite/meta/_journal.json +13 -0
  46. package/package.json +94 -0
@@ -0,0 +1,637 @@
1
+ {
2
+ "id": "e5b74c76-a00e-4ea0-a1ae-a93161ed6111",
3
+ "prevId": "00000000-0000-0000-0000-000000000000",
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": ["match_id"],
49
+ "columnsTo": ["id"],
50
+ "onDelete": "cascade",
51
+ "onUpdate": "no action"
52
+ }
53
+ },
54
+ "compositePrimaryKeys": {
55
+ "match_events_match_id_seq_pk": {
56
+ "name": "match_events_match_id_seq_pk",
57
+ "columns": ["match_id", "seq"]
58
+ }
59
+ },
60
+ "uniqueConstraints": {},
61
+ "policies": {},
62
+ "checkConstraints": {},
63
+ "isRLSEnabled": false
64
+ },
65
+ "public.matches": {
66
+ "name": "matches",
67
+ "schema": "",
68
+ "columns": {
69
+ "id": {
70
+ "name": "id",
71
+ "type": "text",
72
+ "primaryKey": true,
73
+ "notNull": true
74
+ },
75
+ "status": {
76
+ "name": "status",
77
+ "type": "text",
78
+ "primaryKey": false,
79
+ "notNull": true
80
+ },
81
+ "name": {
82
+ "name": "name",
83
+ "type": "text",
84
+ "primaryKey": false,
85
+ "notNull": true
86
+ },
87
+ "visibility": {
88
+ "name": "visibility",
89
+ "type": "text",
90
+ "primaryKey": false,
91
+ "notNull": true
92
+ },
93
+ "max_players": {
94
+ "name": "max_players",
95
+ "type": "integer",
96
+ "primaryKey": false,
97
+ "notNull": true
98
+ },
99
+ "settings": {
100
+ "name": "settings",
101
+ "type": "jsonb",
102
+ "primaryKey": false,
103
+ "notNull": true
104
+ },
105
+ "host_player_id": {
106
+ "name": "host_player_id",
107
+ "type": "text",
108
+ "primaryKey": false,
109
+ "notNull": true
110
+ },
111
+ "join_code": {
112
+ "name": "join_code",
113
+ "type": "text",
114
+ "primaryKey": false,
115
+ "notNull": true
116
+ },
117
+ "password_hash": {
118
+ "name": "password_hash",
119
+ "type": "text",
120
+ "primaryKey": false,
121
+ "notNull": false
122
+ },
123
+ "seed": {
124
+ "name": "seed",
125
+ "type": "integer",
126
+ "primaryKey": false,
127
+ "notNull": false
128
+ },
129
+ "current_turn": {
130
+ "name": "current_turn",
131
+ "type": "integer",
132
+ "primaryKey": false,
133
+ "notNull": true,
134
+ "default": 0
135
+ },
136
+ "seat_count": {
137
+ "name": "seat_count",
138
+ "type": "integer",
139
+ "primaryKey": false,
140
+ "notNull": true,
141
+ "default": 1
142
+ },
143
+ "join_counter": {
144
+ "name": "join_counter",
145
+ "type": "integer",
146
+ "primaryKey": false,
147
+ "notNull": true,
148
+ "default": 1
149
+ },
150
+ "created_at": {
151
+ "name": "created_at",
152
+ "type": "timestamp with time zone",
153
+ "primaryKey": false,
154
+ "notNull": true
155
+ },
156
+ "updated_at": {
157
+ "name": "updated_at",
158
+ "type": "timestamp with time zone",
159
+ "primaryKey": false,
160
+ "notNull": true
161
+ }
162
+ },
163
+ "indexes": {
164
+ "matches_status_updated_idx": {
165
+ "name": "matches_status_updated_idx",
166
+ "columns": [
167
+ {
168
+ "expression": "status",
169
+ "isExpression": false,
170
+ "asc": true,
171
+ "nulls": "last"
172
+ },
173
+ {
174
+ "expression": "updated_at",
175
+ "isExpression": false,
176
+ "asc": true,
177
+ "nulls": "last"
178
+ }
179
+ ],
180
+ "isUnique": false,
181
+ "concurrently": false,
182
+ "method": "btree",
183
+ "with": {}
184
+ },
185
+ "matches_lobby_idx": {
186
+ "name": "matches_lobby_idx",
187
+ "columns": [
188
+ {
189
+ "expression": "status",
190
+ "isExpression": false,
191
+ "asc": true,
192
+ "nulls": "last"
193
+ },
194
+ {
195
+ "expression": "visibility",
196
+ "isExpression": false,
197
+ "asc": true,
198
+ "nulls": "last"
199
+ },
200
+ {
201
+ "expression": "created_at",
202
+ "isExpression": false,
203
+ "asc": true,
204
+ "nulls": "last"
205
+ }
206
+ ],
207
+ "isUnique": false,
208
+ "concurrently": false,
209
+ "method": "btree",
210
+ "with": {}
211
+ }
212
+ },
213
+ "foreignKeys": {},
214
+ "compositePrimaryKeys": {},
215
+ "uniqueConstraints": {
216
+ "matches_join_code_unique": {
217
+ "name": "matches_join_code_unique",
218
+ "nullsNotDistinct": false,
219
+ "columns": ["join_code"]
220
+ }
221
+ },
222
+ "policies": {},
223
+ "checkConstraints": {},
224
+ "isRLSEnabled": false
225
+ },
226
+ "public.players": {
227
+ "name": "players",
228
+ "schema": "",
229
+ "columns": {
230
+ "id": {
231
+ "name": "id",
232
+ "type": "text",
233
+ "primaryKey": true,
234
+ "notNull": true
235
+ },
236
+ "match_id": {
237
+ "name": "match_id",
238
+ "type": "text",
239
+ "primaryKey": false,
240
+ "notNull": true
241
+ },
242
+ "slot": {
243
+ "name": "slot",
244
+ "type": "integer",
245
+ "primaryKey": false,
246
+ "notNull": true,
247
+ "default": -1
248
+ },
249
+ "join_order": {
250
+ "name": "join_order",
251
+ "type": "integer",
252
+ "primaryKey": false,
253
+ "notNull": true,
254
+ "default": 0
255
+ },
256
+ "display_name": {
257
+ "name": "display_name",
258
+ "type": "text",
259
+ "primaryKey": false,
260
+ "notNull": true
261
+ },
262
+ "token_hash": {
263
+ "name": "token_hash",
264
+ "type": "text",
265
+ "primaryKey": false,
266
+ "notNull": false
267
+ },
268
+ "status": {
269
+ "name": "status",
270
+ "type": "text",
271
+ "primaryKey": false,
272
+ "notNull": true
273
+ },
274
+ "joined_at": {
275
+ "name": "joined_at",
276
+ "type": "timestamp with time zone",
277
+ "primaryKey": false,
278
+ "notNull": true
279
+ }
280
+ },
281
+ "indexes": {
282
+ "players_match_idx": {
283
+ "name": "players_match_idx",
284
+ "columns": [
285
+ {
286
+ "expression": "match_id",
287
+ "isExpression": false,
288
+ "asc": true,
289
+ "nulls": "last"
290
+ }
291
+ ],
292
+ "isUnique": false,
293
+ "concurrently": false,
294
+ "method": "btree",
295
+ "with": {}
296
+ }
297
+ },
298
+ "foreignKeys": {
299
+ "players_match_id_matches_id_fk": {
300
+ "name": "players_match_id_matches_id_fk",
301
+ "tableFrom": "players",
302
+ "tableTo": "matches",
303
+ "columnsFrom": ["match_id"],
304
+ "columnsTo": ["id"],
305
+ "onDelete": "cascade",
306
+ "onUpdate": "no action"
307
+ }
308
+ },
309
+ "compositePrimaryKeys": {},
310
+ "uniqueConstraints": {
311
+ "players_token_hash_unique": {
312
+ "name": "players_token_hash_unique",
313
+ "nullsNotDistinct": false,
314
+ "columns": ["token_hash"]
315
+ }
316
+ },
317
+ "policies": {},
318
+ "checkConstraints": {},
319
+ "isRLSEnabled": false
320
+ },
321
+ "public.snapshots": {
322
+ "name": "snapshots",
323
+ "schema": "",
324
+ "columns": {
325
+ "match_id": {
326
+ "name": "match_id",
327
+ "type": "text",
328
+ "primaryKey": false,
329
+ "notNull": true
330
+ },
331
+ "turn": {
332
+ "name": "turn",
333
+ "type": "integer",
334
+ "primaryKey": false,
335
+ "notNull": true
336
+ },
337
+ "format_version": {
338
+ "name": "format_version",
339
+ "type": "integer",
340
+ "primaryKey": false,
341
+ "notNull": true
342
+ },
343
+ "state_hash": {
344
+ "name": "state_hash",
345
+ "type": "text",
346
+ "primaryKey": false,
347
+ "notNull": true
348
+ },
349
+ "uploaded_by_player_id": {
350
+ "name": "uploaded_by_player_id",
351
+ "type": "text",
352
+ "primaryKey": false,
353
+ "notNull": true
354
+ },
355
+ "uploaded_at": {
356
+ "name": "uploaded_at",
357
+ "type": "timestamp with time zone",
358
+ "primaryKey": false,
359
+ "notNull": true
360
+ },
361
+ "body": {
362
+ "name": "body",
363
+ "type": "text",
364
+ "primaryKey": false,
365
+ "notNull": true
366
+ }
367
+ },
368
+ "indexes": {},
369
+ "foreignKeys": {
370
+ "snapshots_match_id_matches_id_fk": {
371
+ "name": "snapshots_match_id_matches_id_fk",
372
+ "tableFrom": "snapshots",
373
+ "tableTo": "matches",
374
+ "columnsFrom": ["match_id"],
375
+ "columnsTo": ["id"],
376
+ "onDelete": "cascade",
377
+ "onUpdate": "no action"
378
+ }
379
+ },
380
+ "compositePrimaryKeys": {
381
+ "snapshots_match_id_turn_pk": {
382
+ "name": "snapshots_match_id_turn_pk",
383
+ "columns": ["match_id", "turn"]
384
+ }
385
+ },
386
+ "uniqueConstraints": {},
387
+ "policies": {},
388
+ "checkConstraints": {},
389
+ "isRLSEnabled": false
390
+ },
391
+ "public.turn_orders": {
392
+ "name": "turn_orders",
393
+ "schema": "",
394
+ "columns": {
395
+ "match_id": {
396
+ "name": "match_id",
397
+ "type": "text",
398
+ "primaryKey": false,
399
+ "notNull": true
400
+ },
401
+ "turn": {
402
+ "name": "turn",
403
+ "type": "integer",
404
+ "primaryKey": false,
405
+ "notNull": true
406
+ },
407
+ "player_id": {
408
+ "name": "player_id",
409
+ "type": "text",
410
+ "primaryKey": false,
411
+ "notNull": true
412
+ },
413
+ "orders": {
414
+ "name": "orders",
415
+ "type": "jsonb",
416
+ "primaryKey": false,
417
+ "notNull": false
418
+ },
419
+ "orders_hash": {
420
+ "name": "orders_hash",
421
+ "type": "text",
422
+ "primaryKey": false,
423
+ "notNull": false
424
+ },
425
+ "ready": {
426
+ "name": "ready",
427
+ "type": "boolean",
428
+ "primaryKey": false,
429
+ "notNull": true,
430
+ "default": false
431
+ },
432
+ "submitted_at": {
433
+ "name": "submitted_at",
434
+ "type": "timestamp with time zone",
435
+ "primaryKey": false,
436
+ "notNull": false
437
+ }
438
+ },
439
+ "indexes": {},
440
+ "foreignKeys": {
441
+ "turn_orders_match_id_matches_id_fk": {
442
+ "name": "turn_orders_match_id_matches_id_fk",
443
+ "tableFrom": "turn_orders",
444
+ "tableTo": "matches",
445
+ "columnsFrom": ["match_id"],
446
+ "columnsTo": ["id"],
447
+ "onDelete": "cascade",
448
+ "onUpdate": "no action"
449
+ }
450
+ },
451
+ "compositePrimaryKeys": {
452
+ "turn_orders_match_id_turn_player_id_pk": {
453
+ "name": "turn_orders_match_id_turn_player_id_pk",
454
+ "columns": ["match_id", "turn", "player_id"]
455
+ }
456
+ },
457
+ "uniqueConstraints": {},
458
+ "policies": {},
459
+ "checkConstraints": {},
460
+ "isRLSEnabled": false
461
+ },
462
+ "public.turn_reports": {
463
+ "name": "turn_reports",
464
+ "schema": "",
465
+ "columns": {
466
+ "match_id": {
467
+ "name": "match_id",
468
+ "type": "text",
469
+ "primaryKey": false,
470
+ "notNull": true
471
+ },
472
+ "turn": {
473
+ "name": "turn",
474
+ "type": "integer",
475
+ "primaryKey": false,
476
+ "notNull": true
477
+ },
478
+ "player_id": {
479
+ "name": "player_id",
480
+ "type": "text",
481
+ "primaryKey": false,
482
+ "notNull": true
483
+ },
484
+ "state_hash": {
485
+ "name": "state_hash",
486
+ "type": "text",
487
+ "primaryKey": false,
488
+ "notNull": true
489
+ },
490
+ "finished": {
491
+ "name": "finished",
492
+ "type": "boolean",
493
+ "primaryKey": false,
494
+ "notNull": true,
495
+ "default": false
496
+ },
497
+ "reported_at": {
498
+ "name": "reported_at",
499
+ "type": "timestamp with time zone",
500
+ "primaryKey": false,
501
+ "notNull": true
502
+ }
503
+ },
504
+ "indexes": {},
505
+ "foreignKeys": {
506
+ "turn_reports_match_id_matches_id_fk": {
507
+ "name": "turn_reports_match_id_matches_id_fk",
508
+ "tableFrom": "turn_reports",
509
+ "tableTo": "matches",
510
+ "columnsFrom": ["match_id"],
511
+ "columnsTo": ["id"],
512
+ "onDelete": "cascade",
513
+ "onUpdate": "no action"
514
+ }
515
+ },
516
+ "compositePrimaryKeys": {
517
+ "turn_reports_match_id_turn_player_id_pk": {
518
+ "name": "turn_reports_match_id_turn_player_id_pk",
519
+ "columns": ["match_id", "turn", "player_id"]
520
+ }
521
+ },
522
+ "uniqueConstraints": {},
523
+ "policies": {},
524
+ "checkConstraints": {},
525
+ "isRLSEnabled": false
526
+ },
527
+ "public.turns": {
528
+ "name": "turns",
529
+ "schema": "",
530
+ "columns": {
531
+ "match_id": {
532
+ "name": "match_id",
533
+ "type": "text",
534
+ "primaryKey": false,
535
+ "notNull": true
536
+ },
537
+ "number": {
538
+ "name": "number",
539
+ "type": "integer",
540
+ "primaryKey": false,
541
+ "notNull": true
542
+ },
543
+ "status": {
544
+ "name": "status",
545
+ "type": "text",
546
+ "primaryKey": false,
547
+ "notNull": true
548
+ },
549
+ "opened_at": {
550
+ "name": "opened_at",
551
+ "type": "timestamp with time zone",
552
+ "primaryKey": false,
553
+ "notNull": true
554
+ },
555
+ "deadline_at": {
556
+ "name": "deadline_at",
557
+ "type": "timestamp with time zone",
558
+ "primaryKey": false,
559
+ "notNull": false
560
+ },
561
+ "sealed_at": {
562
+ "name": "sealed_at",
563
+ "type": "timestamp with time zone",
564
+ "primaryKey": false,
565
+ "notNull": false
566
+ },
567
+ "order_set_hash": {
568
+ "name": "order_set_hash",
569
+ "type": "text",
570
+ "primaryKey": false,
571
+ "notNull": false
572
+ },
573
+ "sealed_slots": {
574
+ "name": "sealed_slots",
575
+ "type": "jsonb",
576
+ "primaryKey": false,
577
+ "notNull": false
578
+ }
579
+ },
580
+ "indexes": {
581
+ "turns_deadline_idx": {
582
+ "name": "turns_deadline_idx",
583
+ "columns": [
584
+ {
585
+ "expression": "status",
586
+ "isExpression": false,
587
+ "asc": true,
588
+ "nulls": "last"
589
+ },
590
+ {
591
+ "expression": "deadline_at",
592
+ "isExpression": false,
593
+ "asc": true,
594
+ "nulls": "last"
595
+ }
596
+ ],
597
+ "isUnique": false,
598
+ "concurrently": false,
599
+ "method": "btree",
600
+ "with": {}
601
+ }
602
+ },
603
+ "foreignKeys": {
604
+ "turns_match_id_matches_id_fk": {
605
+ "name": "turns_match_id_matches_id_fk",
606
+ "tableFrom": "turns",
607
+ "tableTo": "matches",
608
+ "columnsFrom": ["match_id"],
609
+ "columnsTo": ["id"],
610
+ "onDelete": "cascade",
611
+ "onUpdate": "no action"
612
+ }
613
+ },
614
+ "compositePrimaryKeys": {
615
+ "turns_match_id_number_pk": {
616
+ "name": "turns_match_id_number_pk",
617
+ "columns": ["match_id", "number"]
618
+ }
619
+ },
620
+ "uniqueConstraints": {},
621
+ "policies": {},
622
+ "checkConstraints": {},
623
+ "isRLSEnabled": false
624
+ }
625
+ },
626
+ "enums": {},
627
+ "schemas": {},
628
+ "sequences": {},
629
+ "roles": {},
630
+ "policies": {},
631
+ "views": {},
632
+ "_meta": {
633
+ "columns": {},
634
+ "schemas": {},
635
+ "tables": {}
636
+ }
637
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "version": "7",
3
+ "dialect": "postgresql",
4
+ "entries": [
5
+ {
6
+ "idx": 0,
7
+ "version": "7",
8
+ "when": 1789071993116,
9
+ "tag": "0000_glorious_zaladane",
10
+ "breakpoints": true
11
+ }
12
+ ]
13
+ }