@ttt-productions/q-core 0.1.29 → 0.1.30
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.
- package/dist/constants/sports.d.ts +1 -0
- package/dist/constants/sports.d.ts.map +1 -1
- package/dist/constants/sports.js +2 -0
- package/dist/constants/sports.js.map +1 -1
- package/dist/doc-schemas/admin-notifications.d.ts +1 -1
- package/dist/doc-schemas/audit-event.d.ts +2 -0
- package/dist/doc-schemas/audit-event.d.ts.map +1 -1
- package/dist/doc-schemas/award-group-grant.d.ts +2 -2
- package/dist/doc-schemas/gallery.d.ts.map +1 -1
- package/dist/doc-schemas/gallery.js +9 -3
- package/dist/doc-schemas/gallery.js.map +1 -1
- package/dist/doc-schemas/game-stat-history.js +2 -2
- package/dist/doc-schemas/game-stat-history.js.map +1 -1
- package/dist/doc-schemas/migration-console.d.ts +21 -5
- package/dist/doc-schemas/migration-console.d.ts.map +1 -1
- package/dist/doc-schemas/pending-media.d.ts.map +1 -1
- package/dist/doc-schemas/pending-media.js +8 -3
- package/dist/doc-schemas/pending-media.js.map +1 -1
- package/dist/doc-schemas/picture-retirement.d.ts.map +1 -1
- package/dist/doc-schemas/picture-retirement.js +8 -3
- package/dist/doc-schemas/picture-retirement.js.map +1 -1
- package/dist/doc-schemas/registry.d.ts +25 -14
- package/dist/doc-schemas/registry.d.ts.map +1 -1
- package/dist/doc-schemas/stats-operation.d.ts +22 -18
- package/dist/doc-schemas/stats-operation.d.ts.map +1 -1
- package/dist/doc-schemas/stats-operation.js +5 -0
- package/dist/doc-schemas/stats-operation.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/migration-console/action-ids.d.ts +4 -0
- package/dist/migration-console/action-ids.d.ts.map +1 -1
- package/dist/migration-console/action-ids.js +6 -0
- package/dist/migration-console/action-ids.js.map +1 -1
- package/dist/migration-console/console-lock.d.ts +10 -0
- package/dist/migration-console/console-lock.d.ts.map +1 -0
- package/dist/migration-console/console-lock.js +14 -0
- package/dist/migration-console/console-lock.js.map +1 -0
- package/dist/migration-console/consumed-source.d.ts +4 -0
- package/dist/migration-console/consumed-source.d.ts.map +1 -0
- package/dist/migration-console/consumed-source.js +10 -0
- package/dist/migration-console/consumed-source.js.map +1 -0
- package/dist/migration-console/manifest.d.ts +2 -0
- package/dist/migration-console/manifest.d.ts.map +1 -1
- package/dist/migration-console/manifest.js +173 -5
- package/dist/migration-console/manifest.js.map +1 -1
- package/dist/migration-console/run-state.d.ts +2 -0
- package/dist/migration-console/run-state.d.ts.map +1 -1
- package/dist/migration-console/run-state.js +3 -0
- package/dist/migration-console/run-state.js.map +1 -1
- package/dist/paths/picture-owner-paths.d.ts.map +1 -1
- package/dist/paths/picture-owner-paths.js +2 -1
- package/dist/paths/picture-owner-paths.js.map +1 -1
- package/dist/schemas/awards.d.ts +3 -3
- package/dist/schemas/migration-console.d.ts +58 -8
- package/dist/schemas/migration-console.d.ts.map +1 -1
- package/dist/schemas/migration-console.js +4 -0
- package/dist/schemas/migration-console.js.map +1 -1
- package/dist/schemas/scoring.d.ts +20 -20
- package/dist/schemas/stats.d.ts +12 -0
- package/dist/schemas/stats.d.ts.map +1 -1
- package/dist/schemas/stats.js +21 -1
- package/dist/schemas/stats.js.map +1 -1
- package/dist/sports/finalized-record.d.ts +2 -2
- package/dist/sports/finalized-record.d.ts.map +1 -1
- package/dist/sports/finalized-record.js +21 -2
- package/dist/sports/finalized-record.js.map +1 -1
- package/dist/types/audit.d.ts +1 -1
- package/dist/types/audit.d.ts.map +1 -1
- package/dist/types/audit.js +1 -0
- package/dist/types/audit.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/league-calendar.d.ts.map +1 -1
- package/dist/utils/league-calendar.js +6 -1
- package/dist/utils/league-calendar.js.map +1 -1
- package/dist/utils/stats-operation-request.d.ts +20 -0
- package/dist/utils/stats-operation-request.d.ts.map +1 -0
- package/dist/utils/stats-operation-request.js +10 -0
- package/dist/utils/stats-operation-request.js.map +1 -0
- package/package.json +2 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
import type { ExecutableMigrationStep } from '../migration-console/manifest.js';
|
|
2
3
|
export declare const RunMigrationActionInputSchema: z.ZodObject<{
|
|
3
4
|
operationId: z.ZodString;
|
|
4
5
|
reason: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
@@ -8,6 +9,7 @@ export declare const RunMigrationActionInputSchema: z.ZodObject<{
|
|
|
8
9
|
acknowledgeUnexaminedSources: z.ZodOptional<z.ZodBoolean>;
|
|
9
10
|
}, z.core.$strict>;
|
|
10
11
|
export type RunMigrationActionInput = z.infer<typeof RunMigrationActionInputSchema>;
|
|
12
|
+
export declare function migrationPageSizeSchema(step: Pick<ExecutableMigrationStep, 'maxPageSize'>): z.ZodNumber;
|
|
11
13
|
export declare const MigrationActionPageResultSchema: z.ZodObject<{
|
|
12
14
|
actionId: z.ZodEnum<{
|
|
13
15
|
"copy.userProfiles": "copy.userProfiles";
|
|
@@ -80,6 +82,10 @@ export declare const MigrationActionPageResultSchema: z.ZodObject<{
|
|
|
80
82
|
"delete.v1GameLocations": "delete.v1GameLocations";
|
|
81
83
|
"delete.v1AdminStats": "delete.v1AdminStats";
|
|
82
84
|
"verify.v1CommerceDiscardable": "verify.v1CommerceDiscardable";
|
|
85
|
+
"verify.v1DisplayNamesUnique": "verify.v1DisplayNamesUnique";
|
|
86
|
+
"verify.v1TextFitsLimits": "verify.v1TextFitsLimits";
|
|
87
|
+
"verify.v1LeagueCapacity": "verify.v1LeagueCapacity";
|
|
88
|
+
"verify.v1HardwareContractIdsUnique": "verify.v1HardwareContractIdsUnique";
|
|
83
89
|
"delete.v1Commerce": "delete.v1Commerce";
|
|
84
90
|
"rebuild.leagueStats": "rebuild.leagueStats";
|
|
85
91
|
"rebuild.lifetimeStats": "rebuild.lifetimeStats";
|
|
@@ -121,8 +127,8 @@ export declare const MigrationActionPageResultSchema: z.ZodObject<{
|
|
|
121
127
|
updatedAt: z.ZodNumber;
|
|
122
128
|
completedAt: z.ZodOptional<z.ZodNumber>;
|
|
123
129
|
status: z.ZodEnum<{
|
|
124
|
-
complete: "complete";
|
|
125
130
|
running: "running";
|
|
131
|
+
complete: "complete";
|
|
126
132
|
stopped: "stopped";
|
|
127
133
|
}>;
|
|
128
134
|
pages: z.ZodNumber;
|
|
@@ -223,6 +229,10 @@ export declare const MigrationStepStateSchema: z.ZodObject<{
|
|
|
223
229
|
"delete.v1GameLocations": "delete.v1GameLocations";
|
|
224
230
|
"delete.v1AdminStats": "delete.v1AdminStats";
|
|
225
231
|
"verify.v1CommerceDiscardable": "verify.v1CommerceDiscardable";
|
|
232
|
+
"verify.v1DisplayNamesUnique": "verify.v1DisplayNamesUnique";
|
|
233
|
+
"verify.v1TextFitsLimits": "verify.v1TextFitsLimits";
|
|
234
|
+
"verify.v1LeagueCapacity": "verify.v1LeagueCapacity";
|
|
235
|
+
"verify.v1HardwareContractIdsUnique": "verify.v1HardwareContractIdsUnique";
|
|
226
236
|
"delete.v1Commerce": "delete.v1Commerce";
|
|
227
237
|
"rebuild.leagueStats": "rebuild.leagueStats";
|
|
228
238
|
"rebuild.lifetimeStats": "rebuild.lifetimeStats";
|
|
@@ -311,6 +321,10 @@ export declare const MigrationStepStateSchema: z.ZodObject<{
|
|
|
311
321
|
"delete.v1GameLocations": "delete.v1GameLocations";
|
|
312
322
|
"delete.v1AdminStats": "delete.v1AdminStats";
|
|
313
323
|
"verify.v1CommerceDiscardable": "verify.v1CommerceDiscardable";
|
|
324
|
+
"verify.v1DisplayNamesUnique": "verify.v1DisplayNamesUnique";
|
|
325
|
+
"verify.v1TextFitsLimits": "verify.v1TextFitsLimits";
|
|
326
|
+
"verify.v1LeagueCapacity": "verify.v1LeagueCapacity";
|
|
327
|
+
"verify.v1HardwareContractIdsUnique": "verify.v1HardwareContractIdsUnique";
|
|
314
328
|
"delete.v1Commerce": "delete.v1Commerce";
|
|
315
329
|
"rebuild.leagueStats": "rebuild.leagueStats";
|
|
316
330
|
"rebuild.lifetimeStats": "rebuild.lifetimeStats";
|
|
@@ -399,6 +413,10 @@ export declare const MigrationStepStateSchema: z.ZodObject<{
|
|
|
399
413
|
"delete.v1GameLocations": "delete.v1GameLocations";
|
|
400
414
|
"delete.v1AdminStats": "delete.v1AdminStats";
|
|
401
415
|
"verify.v1CommerceDiscardable": "verify.v1CommerceDiscardable";
|
|
416
|
+
"verify.v1DisplayNamesUnique": "verify.v1DisplayNamesUnique";
|
|
417
|
+
"verify.v1TextFitsLimits": "verify.v1TextFitsLimits";
|
|
418
|
+
"verify.v1LeagueCapacity": "verify.v1LeagueCapacity";
|
|
419
|
+
"verify.v1HardwareContractIdsUnique": "verify.v1HardwareContractIdsUnique";
|
|
402
420
|
"delete.v1Commerce": "delete.v1Commerce";
|
|
403
421
|
"rebuild.leagueStats": "rebuild.leagueStats";
|
|
404
422
|
"rebuild.lifetimeStats": "rebuild.lifetimeStats";
|
|
@@ -423,8 +441,8 @@ export declare const MigrationStepStateSchema: z.ZodObject<{
|
|
|
423
441
|
updatedAt: z.ZodNumber;
|
|
424
442
|
completedAt: z.ZodOptional<z.ZodNumber>;
|
|
425
443
|
status: z.ZodEnum<{
|
|
426
|
-
complete: "complete";
|
|
427
444
|
running: "running";
|
|
445
|
+
complete: "complete";
|
|
428
446
|
stopped: "stopped";
|
|
429
447
|
}>;
|
|
430
448
|
pages: z.ZodNumber;
|
|
@@ -458,8 +476,8 @@ export declare const MigrationStepStateSchema: z.ZodObject<{
|
|
|
458
476
|
updatedAt: z.ZodNumber;
|
|
459
477
|
completedAt: z.ZodOptional<z.ZodNumber>;
|
|
460
478
|
status: z.ZodEnum<{
|
|
461
|
-
complete: "complete";
|
|
462
479
|
running: "running";
|
|
480
|
+
complete: "complete";
|
|
463
481
|
stopped: "stopped";
|
|
464
482
|
}>;
|
|
465
483
|
pages: z.ZodNumber;
|
|
@@ -496,8 +514,8 @@ export type MigrationStepState = z.infer<typeof MigrationStepStateSchema>;
|
|
|
496
514
|
export declare const GetMigrationConsoleResultSchema: z.ZodObject<{
|
|
497
515
|
console: z.ZodObject<{
|
|
498
516
|
destinationState: z.ZodEnum<{
|
|
499
|
-
live: "live";
|
|
500
517
|
preCutover: "preCutover";
|
|
518
|
+
live: "live";
|
|
501
519
|
}>;
|
|
502
520
|
cutoverRecordedAt: z.ZodOptional<z.ZodNumber>;
|
|
503
521
|
cutoverRecordedByUserId: z.ZodOptional<z.ZodString>;
|
|
@@ -573,6 +591,10 @@ export declare const GetMigrationConsoleResultSchema: z.ZodObject<{
|
|
|
573
591
|
"delete.v1GameLocations": "delete.v1GameLocations";
|
|
574
592
|
"delete.v1AdminStats": "delete.v1AdminStats";
|
|
575
593
|
"verify.v1CommerceDiscardable": "verify.v1CommerceDiscardable";
|
|
594
|
+
"verify.v1DisplayNamesUnique": "verify.v1DisplayNamesUnique";
|
|
595
|
+
"verify.v1TextFitsLimits": "verify.v1TextFitsLimits";
|
|
596
|
+
"verify.v1LeagueCapacity": "verify.v1LeagueCapacity";
|
|
597
|
+
"verify.v1HardwareContractIdsUnique": "verify.v1HardwareContractIdsUnique";
|
|
576
598
|
"delete.v1Commerce": "delete.v1Commerce";
|
|
577
599
|
"rebuild.leagueStats": "rebuild.leagueStats";
|
|
578
600
|
"rebuild.lifetimeStats": "rebuild.lifetimeStats";
|
|
@@ -667,6 +689,10 @@ export declare const GetMigrationConsoleResultSchema: z.ZodObject<{
|
|
|
667
689
|
"delete.v1GameLocations": "delete.v1GameLocations";
|
|
668
690
|
"delete.v1AdminStats": "delete.v1AdminStats";
|
|
669
691
|
"verify.v1CommerceDiscardable": "verify.v1CommerceDiscardable";
|
|
692
|
+
"verify.v1DisplayNamesUnique": "verify.v1DisplayNamesUnique";
|
|
693
|
+
"verify.v1TextFitsLimits": "verify.v1TextFitsLimits";
|
|
694
|
+
"verify.v1LeagueCapacity": "verify.v1LeagueCapacity";
|
|
695
|
+
"verify.v1HardwareContractIdsUnique": "verify.v1HardwareContractIdsUnique";
|
|
670
696
|
"delete.v1Commerce": "delete.v1Commerce";
|
|
671
697
|
"rebuild.leagueStats": "rebuild.leagueStats";
|
|
672
698
|
"rebuild.lifetimeStats": "rebuild.lifetimeStats";
|
|
@@ -755,6 +781,10 @@ export declare const GetMigrationConsoleResultSchema: z.ZodObject<{
|
|
|
755
781
|
"delete.v1GameLocations": "delete.v1GameLocations";
|
|
756
782
|
"delete.v1AdminStats": "delete.v1AdminStats";
|
|
757
783
|
"verify.v1CommerceDiscardable": "verify.v1CommerceDiscardable";
|
|
784
|
+
"verify.v1DisplayNamesUnique": "verify.v1DisplayNamesUnique";
|
|
785
|
+
"verify.v1TextFitsLimits": "verify.v1TextFitsLimits";
|
|
786
|
+
"verify.v1LeagueCapacity": "verify.v1LeagueCapacity";
|
|
787
|
+
"verify.v1HardwareContractIdsUnique": "verify.v1HardwareContractIdsUnique";
|
|
758
788
|
"delete.v1Commerce": "delete.v1Commerce";
|
|
759
789
|
"rebuild.leagueStats": "rebuild.leagueStats";
|
|
760
790
|
"rebuild.lifetimeStats": "rebuild.lifetimeStats";
|
|
@@ -843,6 +873,10 @@ export declare const GetMigrationConsoleResultSchema: z.ZodObject<{
|
|
|
843
873
|
"delete.v1GameLocations": "delete.v1GameLocations";
|
|
844
874
|
"delete.v1AdminStats": "delete.v1AdminStats";
|
|
845
875
|
"verify.v1CommerceDiscardable": "verify.v1CommerceDiscardable";
|
|
876
|
+
"verify.v1DisplayNamesUnique": "verify.v1DisplayNamesUnique";
|
|
877
|
+
"verify.v1TextFitsLimits": "verify.v1TextFitsLimits";
|
|
878
|
+
"verify.v1LeagueCapacity": "verify.v1LeagueCapacity";
|
|
879
|
+
"verify.v1HardwareContractIdsUnique": "verify.v1HardwareContractIdsUnique";
|
|
846
880
|
"delete.v1Commerce": "delete.v1Commerce";
|
|
847
881
|
"rebuild.leagueStats": "rebuild.leagueStats";
|
|
848
882
|
"rebuild.lifetimeStats": "rebuild.lifetimeStats";
|
|
@@ -867,8 +901,8 @@ export declare const GetMigrationConsoleResultSchema: z.ZodObject<{
|
|
|
867
901
|
updatedAt: z.ZodNumber;
|
|
868
902
|
completedAt: z.ZodOptional<z.ZodNumber>;
|
|
869
903
|
status: z.ZodEnum<{
|
|
870
|
-
complete: "complete";
|
|
871
904
|
running: "running";
|
|
905
|
+
complete: "complete";
|
|
872
906
|
stopped: "stopped";
|
|
873
907
|
}>;
|
|
874
908
|
pages: z.ZodNumber;
|
|
@@ -902,8 +936,8 @@ export declare const GetMigrationConsoleResultSchema: z.ZodObject<{
|
|
|
902
936
|
updatedAt: z.ZodNumber;
|
|
903
937
|
completedAt: z.ZodOptional<z.ZodNumber>;
|
|
904
938
|
status: z.ZodEnum<{
|
|
905
|
-
complete: "complete";
|
|
906
939
|
running: "running";
|
|
940
|
+
complete: "complete";
|
|
907
941
|
stopped: "stopped";
|
|
908
942
|
}>;
|
|
909
943
|
pages: z.ZodNumber;
|
|
@@ -1011,6 +1045,10 @@ export declare const RecordMigrationControlRunInputSchema: z.ZodObject<{
|
|
|
1011
1045
|
"delete.v1GameLocations": "delete.v1GameLocations";
|
|
1012
1046
|
"delete.v1AdminStats": "delete.v1AdminStats";
|
|
1013
1047
|
"verify.v1CommerceDiscardable": "verify.v1CommerceDiscardable";
|
|
1048
|
+
"verify.v1DisplayNamesUnique": "verify.v1DisplayNamesUnique";
|
|
1049
|
+
"verify.v1TextFitsLimits": "verify.v1TextFitsLimits";
|
|
1050
|
+
"verify.v1LeagueCapacity": "verify.v1LeagueCapacity";
|
|
1051
|
+
"verify.v1HardwareContractIdsUnique": "verify.v1HardwareContractIdsUnique";
|
|
1014
1052
|
"delete.v1Commerce": "delete.v1Commerce";
|
|
1015
1053
|
"rebuild.leagueStats": "rebuild.leagueStats";
|
|
1016
1054
|
"rebuild.lifetimeStats": "rebuild.lifetimeStats";
|
|
@@ -1102,6 +1140,10 @@ export declare const RecordMigrationCheckpointInputSchema: z.ZodObject<{
|
|
|
1102
1140
|
"delete.v1GameLocations": "delete.v1GameLocations";
|
|
1103
1141
|
"delete.v1AdminStats": "delete.v1AdminStats";
|
|
1104
1142
|
"verify.v1CommerceDiscardable": "verify.v1CommerceDiscardable";
|
|
1143
|
+
"verify.v1DisplayNamesUnique": "verify.v1DisplayNamesUnique";
|
|
1144
|
+
"verify.v1TextFitsLimits": "verify.v1TextFitsLimits";
|
|
1145
|
+
"verify.v1LeagueCapacity": "verify.v1LeagueCapacity";
|
|
1146
|
+
"verify.v1HardwareContractIdsUnique": "verify.v1HardwareContractIdsUnique";
|
|
1105
1147
|
"delete.v1Commerce": "delete.v1Commerce";
|
|
1106
1148
|
"rebuild.leagueStats": "rebuild.leagueStats";
|
|
1107
1149
|
"rebuild.lifetimeStats": "rebuild.lifetimeStats";
|
|
@@ -1196,6 +1238,10 @@ export declare const RecordMigrationStepResultSchema: z.ZodObject<{
|
|
|
1196
1238
|
"delete.v1GameLocations": "delete.v1GameLocations";
|
|
1197
1239
|
"delete.v1AdminStats": "delete.v1AdminStats";
|
|
1198
1240
|
"verify.v1CommerceDiscardable": "verify.v1CommerceDiscardable";
|
|
1241
|
+
"verify.v1DisplayNamesUnique": "verify.v1DisplayNamesUnique";
|
|
1242
|
+
"verify.v1TextFitsLimits": "verify.v1TextFitsLimits";
|
|
1243
|
+
"verify.v1LeagueCapacity": "verify.v1LeagueCapacity";
|
|
1244
|
+
"verify.v1HardwareContractIdsUnique": "verify.v1HardwareContractIdsUnique";
|
|
1199
1245
|
"delete.v1Commerce": "delete.v1Commerce";
|
|
1200
1246
|
"rebuild.leagueStats": "rebuild.leagueStats";
|
|
1201
1247
|
"rebuild.lifetimeStats": "rebuild.lifetimeStats";
|
|
@@ -1287,6 +1333,10 @@ export declare const RecordMigrationStepResultSchema: z.ZodObject<{
|
|
|
1287
1333
|
"delete.v1GameLocations": "delete.v1GameLocations";
|
|
1288
1334
|
"delete.v1AdminStats": "delete.v1AdminStats";
|
|
1289
1335
|
"verify.v1CommerceDiscardable": "verify.v1CommerceDiscardable";
|
|
1336
|
+
"verify.v1DisplayNamesUnique": "verify.v1DisplayNamesUnique";
|
|
1337
|
+
"verify.v1TextFitsLimits": "verify.v1TextFitsLimits";
|
|
1338
|
+
"verify.v1LeagueCapacity": "verify.v1LeagueCapacity";
|
|
1339
|
+
"verify.v1HardwareContractIdsUnique": "verify.v1HardwareContractIdsUnique";
|
|
1290
1340
|
"delete.v1Commerce": "delete.v1Commerce";
|
|
1291
1341
|
"rebuild.leagueStats": "rebuild.leagueStats";
|
|
1292
1342
|
"rebuild.lifetimeStats": "rebuild.lifetimeStats";
|
|
@@ -1311,8 +1361,8 @@ export declare const RecordMigrationStepResultSchema: z.ZodObject<{
|
|
|
1311
1361
|
updatedAt: z.ZodNumber;
|
|
1312
1362
|
completedAt: z.ZodOptional<z.ZodNumber>;
|
|
1313
1363
|
status: z.ZodEnum<{
|
|
1314
|
-
complete: "complete";
|
|
1315
1364
|
running: "running";
|
|
1365
|
+
complete: "complete";
|
|
1316
1366
|
stopped: "stopped";
|
|
1317
1367
|
}>;
|
|
1318
1368
|
pages: z.ZodNumber;
|
|
@@ -1346,8 +1396,8 @@ export declare const RecordMigrationStepResultSchema: z.ZodObject<{
|
|
|
1346
1396
|
updatedAt: z.ZodNumber;
|
|
1347
1397
|
completedAt: z.ZodOptional<z.ZodNumber>;
|
|
1348
1398
|
status: z.ZodEnum<{
|
|
1349
|
-
complete: "complete";
|
|
1350
1399
|
running: "running";
|
|
1400
|
+
complete: "complete";
|
|
1351
1401
|
stopped: "stopped";
|
|
1352
1402
|
}>;
|
|
1353
1403
|
pages: z.ZodNumber;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration-console.d.ts","sourceRoot":"","sources":["../../src/schemas/migration-console.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"migration-console.d.ts","sourceRoot":"","sources":["../../src/schemas/migration-console.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,10 @@ export const RunMigrationActionInputSchema = z
|
|
|
13
13
|
acknowledgeUnexaminedSources: z.boolean().optional(),
|
|
14
14
|
})
|
|
15
15
|
.strict();
|
|
16
|
+
// Keeps the wire bound of every action and adds the chosen action's own ceiling.
|
|
17
|
+
export function migrationPageSizeSchema(step) {
|
|
18
|
+
return RunMigrationActionInputSchema.shape.pageSize.max(step.maxPageSize);
|
|
19
|
+
}
|
|
16
20
|
export const MigrationActionPageResultSchema = z
|
|
17
21
|
.object({
|
|
18
22
|
actionId: migrationActionIdSchema,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration-console.js","sourceRoot":"","sources":["../../src/schemas/migration-console.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,uBAAuB,EACvB,6BAA6B,GAC9B,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"migration-console.js","sourceRoot":"","sources":["../../src/schemas/migration-console.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\nimport {\n MigrationActionRunSchema,\n MigrationConsoleSchema,\n MigrationFindingSchema,\n MigrationRunRecordSchema,\n migrationActionIdSchema,\n migrationEvidenceSchema,\n migrationOperationIdSchema,\n} from '../doc-schemas/migration-console.js';\nimport {\n MAX_MIGRATION_PAGE_SIZE,\n MIGRATION_RECORD_OUTCOME_KEYS,\n} from '../migration-console/run-state.js';\nimport type { ExecutableMigrationStep } from '../migration-console/manifest.js';\nimport {\n countSchema,\n epochMsSchema,\n repairReasonSchema,\n statsOperationIdSchema,\n} from '../doc-schemas/atoms.js';\n\nconst MAX_RECORDED_OPERATION_IDS = 10;\n\nexport const RunMigrationActionInputSchema = z\n .object({\n operationId: migrationOperationIdSchema,\n reason: repairReasonSchema,\n dryRun: z.boolean(),\n pageSize: z.number().int().min(1).max(MAX_MIGRATION_PAGE_SIZE),\n expectEmptySource: z.boolean().optional(),\n acknowledgeUnexaminedSources: z.boolean().optional(),\n })\n .strict();\nexport type RunMigrationActionInput = z.infer<typeof RunMigrationActionInputSchema>;\n\n// Keeps the wire bound of every action and adds the chosen action's own ceiling.\nexport function migrationPageSizeSchema(step: Pick<ExecutableMigrationStep, 'maxPageSize'>) {\n return RunMigrationActionInputSchema.shape.pageSize.max(step.maxPageSize);\n}\n\nexport const MigrationActionPageResultSchema = z\n .object({\n actionId: migrationActionIdSchema,\n operationId: migrationOperationIdSchema,\n dryRun: z.boolean(),\n read: countSchema,\n written: countSchema,\n skipped: countSchema,\n checked: countSchema,\n missing: countSchema,\n mismatched: countSchema,\n details: z.record(z.string().min(1), countSchema),\n findings: z.array(MigrationFindingSchema),\n nextResumeAfter: z.string().min(1).nullable(),\n complete: z.boolean(),\n run: MigrationRunRecordSchema,\n })\n .strict();\nexport type MigrationActionPageResult = z.infer<typeof MigrationActionPageResultSchema>;\n\nexport const GetMigrationConsoleInputSchema = z.object({}).strict();\nexport type GetMigrationConsoleInput = z.infer<typeof GetMigrationConsoleInputSchema>;\n\nexport const MigrationStepStateSchema = z\n .object({\n actionId: migrationActionIdSchema,\n unlocked: z.boolean(),\n satisfied: z.boolean(),\n waitingOn: z.array(migrationActionIdSchema),\n previewCurrent: z.boolean(),\n record: MigrationActionRunSchema.nullable(),\n })\n .strict();\nexport type MigrationStepState = z.infer<typeof MigrationStepStateSchema>;\n\nexport const GetMigrationConsoleResultSchema = z\n .object({\n console: MigrationConsoleSchema,\n steps: z.array(MigrationStepStateSchema),\n readAt: epochMsSchema,\n })\n .strict();\nexport type GetMigrationConsoleResult = z.infer<typeof GetMigrationConsoleResultSchema>;\n\nexport const RecordMigrationControlRunInputSchema = z\n .object({\n actionId: migrationActionIdSchema,\n operationIds: z.array(statsOperationIdSchema).max(MAX_RECORDED_OPERATION_IDS),\n reason: repairReasonSchema,\n })\n .strict();\nexport type RecordMigrationControlRunInput = z.infer<typeof RecordMigrationControlRunInputSchema>;\n\nexport const RecordMigrationCheckpointInputSchema = z\n .object({\n actionId: migrationActionIdSchema,\n evidence: migrationEvidenceSchema,\n })\n .strict();\nexport type RecordMigrationCheckpointInput = z.infer<typeof RecordMigrationCheckpointInputSchema>;\n\nexport const RecordMigrationCutoverInputSchema = z.object({ reason: repairReasonSchema }).strict();\nexport type RecordMigrationCutoverInput = z.infer<typeof RecordMigrationCutoverInputSchema>;\n\nexport const RecordMigrationStepResultSchema = z\n .object({\n actionId: migrationActionIdSchema,\n outcome: z.enum(MIGRATION_RECORD_OUTCOME_KEYS),\n record: MigrationActionRunSchema,\n })\n .strict();\nexport type RecordMigrationStepResult = z.infer<typeof RecordMigrationStepResultSchema>;\n"]}
|
|
@@ -3,8 +3,8 @@ export declare const sportStatEventIdSchema: z.ZodString;
|
|
|
3
3
|
export declare const StatEventSubmissionSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
4
4
|
eventId: z.ZodString;
|
|
5
5
|
type: z.ZodLiteral<"1PT">;
|
|
6
|
-
teamId: z.ZodString;
|
|
7
6
|
recordedAt: z.ZodNumber;
|
|
7
|
+
teamId: z.ZodString;
|
|
8
8
|
playerUserId: z.ZodString;
|
|
9
9
|
}, z.core.$strict>, z.ZodObject<{
|
|
10
10
|
eventId: z.ZodString;
|
|
@@ -12,8 +12,8 @@ export declare const StatEventSubmissionSchema: z.ZodDiscriminatedUnion<[z.ZodOb
|
|
|
12
12
|
"2PT": "2PT";
|
|
13
13
|
"3PT": "3PT";
|
|
14
14
|
}>;
|
|
15
|
-
teamId: z.ZodString;
|
|
16
15
|
recordedAt: z.ZodNumber;
|
|
16
|
+
teamId: z.ZodString;
|
|
17
17
|
assistedByUserId: z.ZodOptional<z.ZodString>;
|
|
18
18
|
playerUserId: z.ZodString;
|
|
19
19
|
}, z.core.$strict>, z.ZodObject<{
|
|
@@ -22,21 +22,21 @@ export declare const StatEventSubmissionSchema: z.ZodDiscriminatedUnion<[z.ZodOb
|
|
|
22
22
|
REBOUND: "REBOUND";
|
|
23
23
|
ASSIST: "ASSIST";
|
|
24
24
|
}>;
|
|
25
|
-
teamId: z.ZodString;
|
|
26
25
|
recordedAt: z.ZodNumber;
|
|
26
|
+
teamId: z.ZodString;
|
|
27
27
|
playerUserId: z.ZodString;
|
|
28
28
|
}, z.core.$strict>, z.ZodObject<{
|
|
29
29
|
eventId: z.ZodString;
|
|
30
30
|
type: z.ZodLiteral<"TIMEOUT">;
|
|
31
|
-
teamId: z.ZodString;
|
|
32
31
|
recordedAt: z.ZodNumber;
|
|
32
|
+
teamId: z.ZodString;
|
|
33
33
|
}, z.core.$strict>, z.ZodObject<{
|
|
34
34
|
previousValue: z.ZodNumber;
|
|
35
35
|
eventId: z.ZodString;
|
|
36
36
|
type: z.ZodLiteral<"BULK_EDIT">;
|
|
37
37
|
value: z.ZodNumber;
|
|
38
|
-
teamId: z.ZodString;
|
|
39
38
|
recordedAt: z.ZodNumber;
|
|
39
|
+
teamId: z.ZodString;
|
|
40
40
|
playerUserId: z.ZodString;
|
|
41
41
|
stat: z.ZodEnum<{
|
|
42
42
|
points: "points";
|
|
@@ -47,8 +47,8 @@ export declare const StatEventSubmissionSchema: z.ZodDiscriminatedUnion<[z.ZodOb
|
|
|
47
47
|
eventId: z.ZodString;
|
|
48
48
|
points: z.ZodNumber;
|
|
49
49
|
type: z.ZodLiteral<"CURLING_ROUND_SCORE">;
|
|
50
|
-
teamId: z.ZodString;
|
|
51
50
|
recordedAt: z.ZodNumber;
|
|
51
|
+
teamId: z.ZodString;
|
|
52
52
|
roundNumber: z.ZodNumber;
|
|
53
53
|
}, z.core.$strict>, z.ZodObject<{
|
|
54
54
|
eventId: z.ZodString;
|
|
@@ -62,14 +62,14 @@ export declare const StatEventSubmissionSchema: z.ZodDiscriminatedUnion<[z.ZodOb
|
|
|
62
62
|
FOOTBALL_2PT: "FOOTBALL_2PT";
|
|
63
63
|
FOOTBALL_1PT: "FOOTBALL_1PT";
|
|
64
64
|
}>;
|
|
65
|
-
teamId: z.ZodString;
|
|
66
65
|
recordedAt: z.ZodNumber;
|
|
66
|
+
teamId: z.ZodString;
|
|
67
67
|
}, z.core.$strict>, z.ZodObject<{
|
|
68
68
|
eventId: z.ZodString;
|
|
69
69
|
type: z.ZodLiteral<"FOOTBALL_BULK_EDIT">;
|
|
70
70
|
value: z.ZodNumber;
|
|
71
|
-
teamId: z.ZodString;
|
|
72
71
|
recordedAt: z.ZodNumber;
|
|
72
|
+
teamId: z.ZodString;
|
|
73
73
|
previousValue: z.ZodNumber;
|
|
74
74
|
}, z.core.$strict>, z.ZodObject<{
|
|
75
75
|
targetEventId: z.ZodString;
|
|
@@ -79,9 +79,10 @@ export declare const StatEventSubmissionSchema: z.ZodDiscriminatedUnion<[z.ZodOb
|
|
|
79
79
|
type: z.ZodLiteral<"STAT_CORRECTION">;
|
|
80
80
|
value: z.ZodNumber;
|
|
81
81
|
reason: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
82
|
+
operationId: z.ZodString;
|
|
83
|
+
recordedAt: z.ZodNumber;
|
|
82
84
|
teamId: z.ZodString;
|
|
83
85
|
eventId: z.ZodString;
|
|
84
|
-
recordedAt: z.ZodNumber;
|
|
85
86
|
playerUserId: z.ZodOptional<z.ZodString>;
|
|
86
87
|
stat: z.ZodEnum<{
|
|
87
88
|
score: "score";
|
|
@@ -94,7 +95,6 @@ export declare const StatEventSubmissionSchema: z.ZodDiscriminatedUnion<[z.ZodOb
|
|
|
94
95
|
admin: "admin";
|
|
95
96
|
migration: "migration";
|
|
96
97
|
}>;
|
|
97
|
-
operationId: z.ZodString;
|
|
98
98
|
rekeyedFromGhostUserId: z.ZodOptional<z.ZodString>;
|
|
99
99
|
}, z.core.$strict>], "type">;
|
|
100
100
|
export type StatEventSubmission = z.infer<typeof StatEventSubmissionSchema>;
|
|
@@ -103,8 +103,8 @@ export declare const RecordGameStatEventsInputSchema: z.ZodObject<{
|
|
|
103
103
|
events: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
104
104
|
eventId: z.ZodString;
|
|
105
105
|
type: z.ZodLiteral<"1PT">;
|
|
106
|
-
teamId: z.ZodString;
|
|
107
106
|
recordedAt: z.ZodNumber;
|
|
107
|
+
teamId: z.ZodString;
|
|
108
108
|
playerUserId: z.ZodString;
|
|
109
109
|
}, z.core.$strict>, z.ZodObject<{
|
|
110
110
|
eventId: z.ZodString;
|
|
@@ -112,8 +112,8 @@ export declare const RecordGameStatEventsInputSchema: z.ZodObject<{
|
|
|
112
112
|
"2PT": "2PT";
|
|
113
113
|
"3PT": "3PT";
|
|
114
114
|
}>;
|
|
115
|
-
teamId: z.ZodString;
|
|
116
115
|
recordedAt: z.ZodNumber;
|
|
116
|
+
teamId: z.ZodString;
|
|
117
117
|
assistedByUserId: z.ZodOptional<z.ZodString>;
|
|
118
118
|
playerUserId: z.ZodString;
|
|
119
119
|
}, z.core.$strict>, z.ZodObject<{
|
|
@@ -122,21 +122,21 @@ export declare const RecordGameStatEventsInputSchema: z.ZodObject<{
|
|
|
122
122
|
REBOUND: "REBOUND";
|
|
123
123
|
ASSIST: "ASSIST";
|
|
124
124
|
}>;
|
|
125
|
-
teamId: z.ZodString;
|
|
126
125
|
recordedAt: z.ZodNumber;
|
|
126
|
+
teamId: z.ZodString;
|
|
127
127
|
playerUserId: z.ZodString;
|
|
128
128
|
}, z.core.$strict>, z.ZodObject<{
|
|
129
129
|
eventId: z.ZodString;
|
|
130
130
|
type: z.ZodLiteral<"TIMEOUT">;
|
|
131
|
-
teamId: z.ZodString;
|
|
132
131
|
recordedAt: z.ZodNumber;
|
|
132
|
+
teamId: z.ZodString;
|
|
133
133
|
}, z.core.$strict>, z.ZodObject<{
|
|
134
134
|
previousValue: z.ZodNumber;
|
|
135
135
|
eventId: z.ZodString;
|
|
136
136
|
type: z.ZodLiteral<"BULK_EDIT">;
|
|
137
137
|
value: z.ZodNumber;
|
|
138
|
-
teamId: z.ZodString;
|
|
139
138
|
recordedAt: z.ZodNumber;
|
|
139
|
+
teamId: z.ZodString;
|
|
140
140
|
playerUserId: z.ZodString;
|
|
141
141
|
stat: z.ZodEnum<{
|
|
142
142
|
points: "points";
|
|
@@ -147,8 +147,8 @@ export declare const RecordGameStatEventsInputSchema: z.ZodObject<{
|
|
|
147
147
|
eventId: z.ZodString;
|
|
148
148
|
points: z.ZodNumber;
|
|
149
149
|
type: z.ZodLiteral<"CURLING_ROUND_SCORE">;
|
|
150
|
-
teamId: z.ZodString;
|
|
151
150
|
recordedAt: z.ZodNumber;
|
|
151
|
+
teamId: z.ZodString;
|
|
152
152
|
roundNumber: z.ZodNumber;
|
|
153
153
|
}, z.core.$strict>, z.ZodObject<{
|
|
154
154
|
eventId: z.ZodString;
|
|
@@ -162,14 +162,14 @@ export declare const RecordGameStatEventsInputSchema: z.ZodObject<{
|
|
|
162
162
|
FOOTBALL_2PT: "FOOTBALL_2PT";
|
|
163
163
|
FOOTBALL_1PT: "FOOTBALL_1PT";
|
|
164
164
|
}>;
|
|
165
|
-
teamId: z.ZodString;
|
|
166
165
|
recordedAt: z.ZodNumber;
|
|
166
|
+
teamId: z.ZodString;
|
|
167
167
|
}, z.core.$strict>, z.ZodObject<{
|
|
168
168
|
eventId: z.ZodString;
|
|
169
169
|
type: z.ZodLiteral<"FOOTBALL_BULK_EDIT">;
|
|
170
170
|
value: z.ZodNumber;
|
|
171
|
-
teamId: z.ZodString;
|
|
172
171
|
recordedAt: z.ZodNumber;
|
|
172
|
+
teamId: z.ZodString;
|
|
173
173
|
previousValue: z.ZodNumber;
|
|
174
174
|
}, z.core.$strict>, z.ZodObject<{
|
|
175
175
|
targetEventId: z.ZodString;
|
|
@@ -179,9 +179,10 @@ export declare const RecordGameStatEventsInputSchema: z.ZodObject<{
|
|
|
179
179
|
type: z.ZodLiteral<"STAT_CORRECTION">;
|
|
180
180
|
value: z.ZodNumber;
|
|
181
181
|
reason: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
182
|
+
operationId: z.ZodString;
|
|
183
|
+
recordedAt: z.ZodNumber;
|
|
182
184
|
teamId: z.ZodString;
|
|
183
185
|
eventId: z.ZodString;
|
|
184
|
-
recordedAt: z.ZodNumber;
|
|
185
186
|
playerUserId: z.ZodOptional<z.ZodString>;
|
|
186
187
|
stat: z.ZodEnum<{
|
|
187
188
|
score: "score";
|
|
@@ -194,7 +195,6 @@ export declare const RecordGameStatEventsInputSchema: z.ZodObject<{
|
|
|
194
195
|
admin: "admin";
|
|
195
196
|
migration: "migration";
|
|
196
197
|
}>;
|
|
197
|
-
operationId: z.ZodString;
|
|
198
198
|
rekeyedFromGhostUserId: z.ZodOptional<z.ZodString>;
|
|
199
199
|
}, z.core.$strict>], "type">>;
|
|
200
200
|
}, z.core.$strict>;
|
package/dist/schemas/stats.d.ts
CHANGED
|
@@ -174,6 +174,12 @@ export declare const GameRepairChangesSchema: z.ZodObject<{
|
|
|
174
174
|
stored: z.ZodNumber;
|
|
175
175
|
rebuilt: z.ZodNumber;
|
|
176
176
|
}, z.core.$strict>>;
|
|
177
|
+
roundSlots: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
178
|
+
lineKey: z.ZodString;
|
|
179
|
+
slotIndex: z.ZodNumber;
|
|
180
|
+
stored: z.ZodNullable<z.ZodNumber>;
|
|
181
|
+
rebuilt: z.ZodNullable<z.ZodNumber>;
|
|
182
|
+
}, z.core.$strict>>>;
|
|
177
183
|
absentRosterPlayerIds: z.ZodOptional<z.ZodObject<{
|
|
178
184
|
stored: z.ZodArray<z.ZodString>;
|
|
179
185
|
rebuilt: z.ZodArray<z.ZodString>;
|
|
@@ -226,6 +232,12 @@ export declare const GameStatsRepairResultSchema: z.ZodObject<{
|
|
|
226
232
|
stored: z.ZodNumber;
|
|
227
233
|
rebuilt: z.ZodNumber;
|
|
228
234
|
}, z.core.$strict>>;
|
|
235
|
+
roundSlots: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
236
|
+
lineKey: z.ZodString;
|
|
237
|
+
slotIndex: z.ZodNumber;
|
|
238
|
+
stored: z.ZodNullable<z.ZodNumber>;
|
|
239
|
+
rebuilt: z.ZodNullable<z.ZodNumber>;
|
|
240
|
+
}, z.core.$strict>>>;
|
|
229
241
|
absentRosterPlayerIds: z.ZodOptional<z.ZodObject<{
|
|
230
242
|
stored: z.ZodArray<z.ZodString>;
|
|
231
243
|
rebuilt: z.ZodArray<z.ZodString>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/schemas/stats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/schemas/stats.ts"],"names":[],"mappings":"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"}
|
package/dist/schemas/stats.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { MAX_GAME_STATS_CORRECTION_TARGETS } from '../constants/sports.js';
|
|
2
|
+
import { CURLING_ROUND_COUNT, MAX_CURLING_ROUND_POINTS, MAX_GAME_STATS_CORRECTION_TARGETS, } from '../constants/sports.js';
|
|
3
3
|
import { countSchema, gameIdSchema, gameRosterPlayerIdSchema, leagueIdSchema, repairReasonSchema, sportKeySchema, statCounterKeySchema, statsOperationIdSchema, statsValidationReportIdSchema, teamIdSchema, userIdSchema, } from '../doc-schemas/atoms.js';
|
|
4
4
|
import { StatsDestinationChangeSchema, StatsOperationCountsSchema, } from '../doc-schemas/stats-operation.js';
|
|
5
5
|
import { StatsValidationReportSchema, StatsValidationScopeSchema, StatsValidationSummarySchema, } from '../doc-schemas/system.js';
|
|
@@ -123,6 +123,9 @@ export const RecalculateGameStatsInputSchema = z
|
|
|
123
123
|
export const GameStatsCorrectionSchema = z
|
|
124
124
|
.object({ lineKey: z.string().min(1), field: statCounterKeySchema, value: z.number().int() })
|
|
125
125
|
.strict();
|
|
126
|
+
const roundSlotValueSchema = z.number().int().min(0).max(MAX_CURLING_ROUND_POINTS).nullable();
|
|
127
|
+
// Two team lines of a game, each holding its sport's fixed round slots.
|
|
128
|
+
const MAX_ROUND_SLOT_CHANGES = 2 * CURLING_ROUND_COUNT;
|
|
126
129
|
const replacedEntryListSchema = z
|
|
127
130
|
.object({ stored: z.array(gameRosterPlayerIdSchema), rebuilt: z.array(gameRosterPlayerIdSchema) })
|
|
128
131
|
.strict();
|
|
@@ -137,6 +140,23 @@ export const GameRepairChangesSchema = z
|
|
|
137
140
|
})
|
|
138
141
|
.strict()),
|
|
139
142
|
scores: z.array(z.object({ teamId: teamIdSchema, stored: z.number(), rebuilt: z.number() }).strict()),
|
|
143
|
+
// Present when a round slot changed: each changed slot of a line, a null slot unplayed.
|
|
144
|
+
roundSlots: z
|
|
145
|
+
.array(z
|
|
146
|
+
.object({
|
|
147
|
+
lineKey: z.string().min(1),
|
|
148
|
+
slotIndex: z
|
|
149
|
+
.number()
|
|
150
|
+
.int()
|
|
151
|
+
.min(0)
|
|
152
|
+
.max(CURLING_ROUND_COUNT - 1),
|
|
153
|
+
stored: roundSlotValueSchema,
|
|
154
|
+
rebuilt: roundSlotValueSchema,
|
|
155
|
+
})
|
|
156
|
+
.strict())
|
|
157
|
+
.min(1)
|
|
158
|
+
.max(MAX_ROUND_SLOT_CHANGES)
|
|
159
|
+
.optional(),
|
|
140
160
|
absentRosterPlayerIds: replacedEntryListSchema.optional(),
|
|
141
161
|
nonScoringRosterPlayerIds: replacedEntryListSchema.optional(),
|
|
142
162
|
statEventSequence: z.object({ stored: countSchema, rebuilt: countSchema }).strict().optional(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/schemas/stats.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\nimport { MAX_GAME_STATS_CORRECTION_TARGETS } from '../constants/sports.js';\nimport {\n countSchema,\n gameIdSchema,\n gameRosterPlayerIdSchema,\n leagueIdSchema,\n repairReasonSchema,\n sportKeySchema,\n statCounterKeySchema,\n statsOperationIdSchema,\n statsValidationReportIdSchema,\n teamIdSchema,\n userIdSchema,\n} from '../doc-schemas/atoms.js';\nimport {\n StatsDestinationChangeSchema,\n StatsOperationCountsSchema,\n} from '../doc-schemas/stats-operation.js';\nimport {\n StatsValidationReportSchema,\n StatsValidationScopeSchema,\n StatsValidationSummarySchema,\n} from '../doc-schemas/system.js';\nimport { HistoricalStatsSchema } from '../doc-schemas/user-profile.js';\nimport {\n GAME_FINALIZE_OUTCOME_KEYS,\n GAME_REOPEN_OUTCOME_KEYS,\n GAME_STATS_REPAIR_OUTCOME_KEYS,\n UNROSTERED_STAT_LINE_RESOLUTION_OUTCOME_KEYS,\n} from '../types/stats.js';\n\nexport const FinalizeGameInputSchema = z.object({ gameId: gameIdSchema }).strict();\nexport type FinalizeGameInput = z.infer<typeof FinalizeGameInputSchema>;\n\nexport const FinalizeGameResultSchema = z\n .object({\n gameId: gameIdSchema,\n leagueId: leagueIdSchema,\n outcome: z.enum(GAME_FINALIZE_OUTCOME_KEYS),\n nonScoringRosterPlayerIds: z.array(gameRosterPlayerIdSchema),\n })\n .strict();\nexport type FinalizeGameResult = z.infer<typeof FinalizeGameResultSchema>;\n\nexport const ReopenGameInputSchema = z\n .object({ gameId: gameIdSchema, reason: repairReasonSchema })\n .strict();\nexport type ReopenGameInput = z.infer<typeof ReopenGameInputSchema>;\n\nexport const ReopenGameResultSchema = z\n .object({\n gameId: gameIdSchema,\n leagueId: leagueIdSchema,\n outcome: z.enum(GAME_REOPEN_OUTCOME_KEYS),\n })\n .strict();\nexport type ReopenGameResult = z.infer<typeof ReopenGameResultSchema>;\n\nexport const AdminResolveUnrosteredStatLineInputSchema = z\n .object({\n gameId: gameIdSchema,\n userId: userIdSchema,\n teamId: teamIdSchema,\n reason: repairReasonSchema,\n dryRun: z.boolean().optional(),\n })\n .strict();\nexport type AdminResolveUnrosteredStatLineInput = z.infer<\n typeof AdminResolveUnrosteredStatLineInputSchema\n>;\n\nexport const AdminResolveUnrosteredStatLineResultSchema = z\n .object({\n gameId: gameIdSchema,\n userId: userIdSchema,\n teamId: teamIdSchema,\n outcome: z.enum(UNROSTERED_STAT_LINE_RESOLUTION_OUTCOME_KEYS),\n gameConverts: z.boolean(),\n })\n .strict();\nexport type AdminResolveUnrosteredStatLineResult = z.infer<\n typeof AdminResolveUnrosteredStatLineResultSchema\n>;\n\nconst statsRepairFields = {\n reason: repairReasonSchema,\n operationId: statsOperationIdSchema,\n dryRun: z.boolean(),\n resumeAfter: z.string().min(1).optional(),\n};\n\nconst cursorOnlyOnDryRun = (input: { dryRun: boolean; resumeAfter?: string }): boolean =>\n input.dryRun || input.resumeAfter === undefined;\nconst CURSOR_ONLY_ON_DRY_RUN = {\n message: 'A real run resumes from its operation; only a dry run takes a cursor.',\n path: ['resumeAfter'],\n};\n\nexport const RecalculateLeagueStatsInputSchema = z\n .object({ leagueId: leagueIdSchema, ...statsRepairFields })\n .strict()\n .refine(cursorOnlyOnDryRun, CURSOR_ONLY_ON_DRY_RUN);\nexport type RecalculateLeagueStatsInput = z.infer<typeof RecalculateLeagueStatsInputSchema>;\n\nexport const RecalculateAllLeagueStatsInputSchema = z\n .object({ ...statsRepairFields })\n .strict()\n .refine(cursorOnlyOnDryRun, CURSOR_ONLY_ON_DRY_RUN);\nexport type RecalculateAllLeagueStatsInput = z.infer<typeof RecalculateAllLeagueStatsInputSchema>;\n\nexport const RecalculateUserStatsInputSchema = z\n .object({ userId: userIdSchema, ...statsRepairFields })\n .strict()\n .refine(cursorOnlyOnDryRun, CURSOR_ONLY_ON_DRY_RUN);\nexport type RecalculateUserStatsInput = z.infer<typeof RecalculateUserStatsInputSchema>;\n\nexport const RecalculateAllUserStatsInputSchema = z\n .object({ ...statsRepairFields })\n .strict()\n .refine(cursorOnlyOnDryRun, CURSOR_ONLY_ON_DRY_RUN);\nexport type RecalculateAllUserStatsInput = z.infer<typeof RecalculateAllUserStatsInputSchema>;\n\nexport const RecalculateHallOfFameInputSchema = z\n .object({ sportKey: sportKeySchema, userId: userIdSchema.optional(), ...statsRepairFields })\n .strict()\n .refine(cursorOnlyOnDryRun, CURSOR_ONLY_ON_DRY_RUN);\nexport type RecalculateHallOfFameInput = z.infer<typeof RecalculateHallOfFameInputSchema>;\n\nexport const StatsRebuildResultSchema = z\n .object({\n operationId: statsOperationIdSchema,\n dryRun: z.boolean(),\n complete: z.boolean(),\n nextResumeAfter: z.string().min(1).nullable(),\n counts: StatsOperationCountsSchema,\n stoppedOnGameIds: z.array(gameIdSchema),\n changes: z.array(StatsDestinationChangeSchema),\n changesTruncated: z.boolean(),\n scopeChanged: z.boolean(),\n })\n .strict();\nexport type StatsRebuildResult = z.infer<typeof StatsRebuildResultSchema>;\n\nexport const GameStatsCorrectionTargetSchema = z\n .object({\n teamId: teamIdSchema,\n playerUserId: userIdSchema.optional(),\n stat: statCounterKeySchema,\n value: countSchema,\n })\n .strict();\nexport type GameStatsCorrectionTarget = z.infer<typeof GameStatsCorrectionTargetSchema>;\n\nexport const AdminCorrectGameStatsInputSchema = z\n .object({\n gameId: gameIdSchema,\n targets: z\n .array(GameStatsCorrectionTargetSchema)\n .min(1)\n .max(MAX_GAME_STATS_CORRECTION_TARGETS)\n .optional(),\n keepStored: z.literal(true).optional(),\n reason: repairReasonSchema,\n operationId: statsOperationIdSchema,\n dryRun: z.boolean(),\n })\n .strict()\n .refine((input) => (input.targets === undefined) !== (input.keepStored === undefined), {\n message: 'Give the values to set, or keep the stored numbers — one of the two.',\n path: ['targets'],\n });\nexport type AdminCorrectGameStatsInput = z.infer<typeof AdminCorrectGameStatsInputSchema>;\n\nexport const RecalculateGameStatsInputSchema = z\n .object({\n gameId: gameIdSchema,\n reason: repairReasonSchema,\n operationId: statsOperationIdSchema,\n dryRun: z.boolean(),\n })\n .strict();\nexport type RecalculateGameStatsInput = z.infer<typeof RecalculateGameStatsInputSchema>;\n\nexport const GameStatsCorrectionSchema = z\n .object({ lineKey: z.string().min(1), field: statCounterKeySchema, value: z.number().int() })\n .strict();\nexport type GameStatsCorrection = z.infer<typeof GameStatsCorrectionSchema>;\n\nconst replacedEntryListSchema = z\n .object({ stored: z.array(gameRosterPlayerIdSchema), rebuilt: z.array(gameRosterPlayerIdSchema) })\n .strict();\n\nexport const GameRepairChangesSchema = z\n .object({\n lines: z.array(\n z\n .object({\n lineKey: z.string().min(1),\n field: z.string().min(1),\n stored: z.number(),\n rebuilt: z.number(),\n })\n .strict(),\n ),\n scores: z.array(\n z.object({ teamId: teamIdSchema, stored: z.number(), rebuilt: z.number() }).strict(),\n ),\n absentRosterPlayerIds: replacedEntryListSchema.optional(),\n nonScoringRosterPlayerIds: replacedEntryListSchema.optional(),\n statEventSequence: z.object({ stored: countSchema, rebuilt: countSchema }).strict().optional(),\n recordRewritten: z\n .object({ pagesBefore: countSchema, pagesAfter: countSchema })\n .strict()\n .optional(),\n })\n .strict();\nexport type GameRepairChanges = z.infer<typeof GameRepairChangesSchema>;\n\nexport const GameStatsRepairResultSchema = z\n .object({\n gameId: gameIdSchema,\n leagueId: leagueIdSchema,\n operationId: statsOperationIdSchema,\n dryRun: z.boolean(),\n outcome: z.enum(GAME_STATS_REPAIR_OUTCOME_KEYS),\n corrections: z.array(GameStatsCorrectionSchema),\n gameChanged: z.boolean(),\n gameChanges: GameRepairChangesSchema,\n destinationChanges: z.array(StatsDestinationChangeSchema),\n })\n .strict();\nexport type GameStatsRepairResult = z.infer<typeof GameStatsRepairResultSchema>;\n\nexport const AdminUpdateHistoricalStatsInputSchema = z\n .object({\n userId: userIdSchema,\n sportKey: sportKeySchema,\n stats: HistoricalStatsSchema,\n reason: repairReasonSchema,\n operationId: statsOperationIdSchema,\n dryRun: z.boolean(),\n })\n .strict();\nexport type AdminUpdateHistoricalStatsInput = z.infer<typeof AdminUpdateHistoricalStatsInputSchema>;\n\nexport const AdminUpdateHistoricalStatsResultSchema = z\n .object({\n userId: userIdSchema,\n sportKey: sportKeySchema,\n operationId: statsOperationIdSchema,\n dryRun: z.boolean(),\n outcome: z.enum(GAME_STATS_REPAIR_OUTCOME_KEYS),\n baselineBefore: HistoricalStatsSchema.nullable(),\n stoppedOnGameIds: z.array(gameIdSchema),\n changes: z.array(StatsDestinationChangeSchema),\n })\n .strict();\nexport type AdminUpdateHistoricalStatsResult = z.infer<\n typeof AdminUpdateHistoricalStatsResultSchema\n>;\n\nexport const RunStatsValidationInputSchema = z\n .object({ operationId: statsOperationIdSchema, scope: StatsValidationScopeSchema })\n .strict();\nexport type RunStatsValidationInput = z.infer<typeof RunStatsValidationInputSchema>;\n\nexport const RunStatsValidationResultSchema = z\n .object({\n reportId: z.string().min(1),\n complete: z.boolean(),\n summary: StatsValidationSummarySchema,\n discrepancyCounts: StatsValidationReportSchema.shape.discrepancyCounts,\n })\n .strict();\nexport type RunStatsValidationResult = z.infer<typeof RunStatsValidationResultSchema>;\n\nexport const AdminDeleteStatsValidationReportInputSchema = z\n .object({ reportId: statsValidationReportIdSchema })\n .strict();\nexport type AdminDeleteStatsValidationReportInput = z.infer<\n typeof AdminDeleteStatsValidationReportInputSchema\n>;\n\nexport const AdminDeleteStatsValidationReportResultSchema = z\n .object({ reportId: statsValidationReportIdSchema })\n .strict();\nexport type AdminDeleteStatsValidationReportResult = z.infer<\n typeof AdminDeleteStatsValidationReportResultSchema\n>;\n"]}
|
|
1
|
+
{"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/schemas/stats.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\nimport {\n CURLING_ROUND_COUNT,\n MAX_CURLING_ROUND_POINTS,\n MAX_GAME_STATS_CORRECTION_TARGETS,\n} from '../constants/sports.js';\nimport {\n countSchema,\n gameIdSchema,\n gameRosterPlayerIdSchema,\n leagueIdSchema,\n repairReasonSchema,\n sportKeySchema,\n statCounterKeySchema,\n statsOperationIdSchema,\n statsValidationReportIdSchema,\n teamIdSchema,\n userIdSchema,\n} from '../doc-schemas/atoms.js';\nimport {\n StatsDestinationChangeSchema,\n StatsOperationCountsSchema,\n} from '../doc-schemas/stats-operation.js';\nimport {\n StatsValidationReportSchema,\n StatsValidationScopeSchema,\n StatsValidationSummarySchema,\n} from '../doc-schemas/system.js';\nimport { HistoricalStatsSchema } from '../doc-schemas/user-profile.js';\nimport {\n GAME_FINALIZE_OUTCOME_KEYS,\n GAME_REOPEN_OUTCOME_KEYS,\n GAME_STATS_REPAIR_OUTCOME_KEYS,\n UNROSTERED_STAT_LINE_RESOLUTION_OUTCOME_KEYS,\n} from '../types/stats.js';\n\nexport const FinalizeGameInputSchema = z.object({ gameId: gameIdSchema }).strict();\nexport type FinalizeGameInput = z.infer<typeof FinalizeGameInputSchema>;\n\nexport const FinalizeGameResultSchema = z\n .object({\n gameId: gameIdSchema,\n leagueId: leagueIdSchema,\n outcome: z.enum(GAME_FINALIZE_OUTCOME_KEYS),\n nonScoringRosterPlayerIds: z.array(gameRosterPlayerIdSchema),\n })\n .strict();\nexport type FinalizeGameResult = z.infer<typeof FinalizeGameResultSchema>;\n\nexport const ReopenGameInputSchema = z\n .object({ gameId: gameIdSchema, reason: repairReasonSchema })\n .strict();\nexport type ReopenGameInput = z.infer<typeof ReopenGameInputSchema>;\n\nexport const ReopenGameResultSchema = z\n .object({\n gameId: gameIdSchema,\n leagueId: leagueIdSchema,\n outcome: z.enum(GAME_REOPEN_OUTCOME_KEYS),\n })\n .strict();\nexport type ReopenGameResult = z.infer<typeof ReopenGameResultSchema>;\n\nexport const AdminResolveUnrosteredStatLineInputSchema = z\n .object({\n gameId: gameIdSchema,\n userId: userIdSchema,\n teamId: teamIdSchema,\n reason: repairReasonSchema,\n dryRun: z.boolean().optional(),\n })\n .strict();\nexport type AdminResolveUnrosteredStatLineInput = z.infer<\n typeof AdminResolveUnrosteredStatLineInputSchema\n>;\n\nexport const AdminResolveUnrosteredStatLineResultSchema = z\n .object({\n gameId: gameIdSchema,\n userId: userIdSchema,\n teamId: teamIdSchema,\n outcome: z.enum(UNROSTERED_STAT_LINE_RESOLUTION_OUTCOME_KEYS),\n gameConverts: z.boolean(),\n })\n .strict();\nexport type AdminResolveUnrosteredStatLineResult = z.infer<\n typeof AdminResolveUnrosteredStatLineResultSchema\n>;\n\nconst statsRepairFields = {\n reason: repairReasonSchema,\n operationId: statsOperationIdSchema,\n dryRun: z.boolean(),\n resumeAfter: z.string().min(1).optional(),\n};\n\nconst cursorOnlyOnDryRun = (input: { dryRun: boolean; resumeAfter?: string }): boolean =>\n input.dryRun || input.resumeAfter === undefined;\nconst CURSOR_ONLY_ON_DRY_RUN = {\n message: 'A real run resumes from its operation; only a dry run takes a cursor.',\n path: ['resumeAfter'],\n};\n\nexport const RecalculateLeagueStatsInputSchema = z\n .object({ leagueId: leagueIdSchema, ...statsRepairFields })\n .strict()\n .refine(cursorOnlyOnDryRun, CURSOR_ONLY_ON_DRY_RUN);\nexport type RecalculateLeagueStatsInput = z.infer<typeof RecalculateLeagueStatsInputSchema>;\n\nexport const RecalculateAllLeagueStatsInputSchema = z\n .object({ ...statsRepairFields })\n .strict()\n .refine(cursorOnlyOnDryRun, CURSOR_ONLY_ON_DRY_RUN);\nexport type RecalculateAllLeagueStatsInput = z.infer<typeof RecalculateAllLeagueStatsInputSchema>;\n\nexport const RecalculateUserStatsInputSchema = z\n .object({ userId: userIdSchema, ...statsRepairFields })\n .strict()\n .refine(cursorOnlyOnDryRun, CURSOR_ONLY_ON_DRY_RUN);\nexport type RecalculateUserStatsInput = z.infer<typeof RecalculateUserStatsInputSchema>;\n\nexport const RecalculateAllUserStatsInputSchema = z\n .object({ ...statsRepairFields })\n .strict()\n .refine(cursorOnlyOnDryRun, CURSOR_ONLY_ON_DRY_RUN);\nexport type RecalculateAllUserStatsInput = z.infer<typeof RecalculateAllUserStatsInputSchema>;\n\nexport const RecalculateHallOfFameInputSchema = z\n .object({ sportKey: sportKeySchema, userId: userIdSchema.optional(), ...statsRepairFields })\n .strict()\n .refine(cursorOnlyOnDryRun, CURSOR_ONLY_ON_DRY_RUN);\nexport type RecalculateHallOfFameInput = z.infer<typeof RecalculateHallOfFameInputSchema>;\n\nexport const StatsRebuildResultSchema = z\n .object({\n operationId: statsOperationIdSchema,\n dryRun: z.boolean(),\n complete: z.boolean(),\n nextResumeAfter: z.string().min(1).nullable(),\n counts: StatsOperationCountsSchema,\n stoppedOnGameIds: z.array(gameIdSchema),\n changes: z.array(StatsDestinationChangeSchema),\n changesTruncated: z.boolean(),\n scopeChanged: z.boolean(),\n })\n .strict();\nexport type StatsRebuildResult = z.infer<typeof StatsRebuildResultSchema>;\n\nexport const GameStatsCorrectionTargetSchema = z\n .object({\n teamId: teamIdSchema,\n playerUserId: userIdSchema.optional(),\n stat: statCounterKeySchema,\n value: countSchema,\n })\n .strict();\nexport type GameStatsCorrectionTarget = z.infer<typeof GameStatsCorrectionTargetSchema>;\n\nexport const AdminCorrectGameStatsInputSchema = z\n .object({\n gameId: gameIdSchema,\n targets: z\n .array(GameStatsCorrectionTargetSchema)\n .min(1)\n .max(MAX_GAME_STATS_CORRECTION_TARGETS)\n .optional(),\n keepStored: z.literal(true).optional(),\n reason: repairReasonSchema,\n operationId: statsOperationIdSchema,\n dryRun: z.boolean(),\n })\n .strict()\n .refine((input) => (input.targets === undefined) !== (input.keepStored === undefined), {\n message: 'Give the values to set, or keep the stored numbers — one of the two.',\n path: ['targets'],\n });\nexport type AdminCorrectGameStatsInput = z.infer<typeof AdminCorrectGameStatsInputSchema>;\n\nexport const RecalculateGameStatsInputSchema = z\n .object({\n gameId: gameIdSchema,\n reason: repairReasonSchema,\n operationId: statsOperationIdSchema,\n dryRun: z.boolean(),\n })\n .strict();\nexport type RecalculateGameStatsInput = z.infer<typeof RecalculateGameStatsInputSchema>;\n\nexport const GameStatsCorrectionSchema = z\n .object({ lineKey: z.string().min(1), field: statCounterKeySchema, value: z.number().int() })\n .strict();\nexport type GameStatsCorrection = z.infer<typeof GameStatsCorrectionSchema>;\n\nconst roundSlotValueSchema = z.number().int().min(0).max(MAX_CURLING_ROUND_POINTS).nullable();\n\n// Two team lines of a game, each holding its sport's fixed round slots.\nconst MAX_ROUND_SLOT_CHANGES = 2 * CURLING_ROUND_COUNT;\n\nconst replacedEntryListSchema = z\n .object({ stored: z.array(gameRosterPlayerIdSchema), rebuilt: z.array(gameRosterPlayerIdSchema) })\n .strict();\n\nexport const GameRepairChangesSchema = z\n .object({\n lines: z.array(\n z\n .object({\n lineKey: z.string().min(1),\n field: z.string().min(1),\n stored: z.number(),\n rebuilt: z.number(),\n })\n .strict(),\n ),\n scores: z.array(\n z.object({ teamId: teamIdSchema, stored: z.number(), rebuilt: z.number() }).strict(),\n ),\n // Present when a round slot changed: each changed slot of a line, a null slot unplayed.\n roundSlots: z\n .array(\n z\n .object({\n lineKey: z.string().min(1),\n slotIndex: z\n .number()\n .int()\n .min(0)\n .max(CURLING_ROUND_COUNT - 1),\n stored: roundSlotValueSchema,\n rebuilt: roundSlotValueSchema,\n })\n .strict(),\n )\n .min(1)\n .max(MAX_ROUND_SLOT_CHANGES)\n .optional(),\n absentRosterPlayerIds: replacedEntryListSchema.optional(),\n nonScoringRosterPlayerIds: replacedEntryListSchema.optional(),\n statEventSequence: z.object({ stored: countSchema, rebuilt: countSchema }).strict().optional(),\n recordRewritten: z\n .object({ pagesBefore: countSchema, pagesAfter: countSchema })\n .strict()\n .optional(),\n })\n .strict();\nexport type GameRepairChanges = z.infer<typeof GameRepairChangesSchema>;\n\nexport const GameStatsRepairResultSchema = z\n .object({\n gameId: gameIdSchema,\n leagueId: leagueIdSchema,\n operationId: statsOperationIdSchema,\n dryRun: z.boolean(),\n outcome: z.enum(GAME_STATS_REPAIR_OUTCOME_KEYS),\n corrections: z.array(GameStatsCorrectionSchema),\n gameChanged: z.boolean(),\n gameChanges: GameRepairChangesSchema,\n destinationChanges: z.array(StatsDestinationChangeSchema),\n })\n .strict();\nexport type GameStatsRepairResult = z.infer<typeof GameStatsRepairResultSchema>;\n\nexport const AdminUpdateHistoricalStatsInputSchema = z\n .object({\n userId: userIdSchema,\n sportKey: sportKeySchema,\n stats: HistoricalStatsSchema,\n reason: repairReasonSchema,\n operationId: statsOperationIdSchema,\n dryRun: z.boolean(),\n })\n .strict();\nexport type AdminUpdateHistoricalStatsInput = z.infer<typeof AdminUpdateHistoricalStatsInputSchema>;\n\nexport const AdminUpdateHistoricalStatsResultSchema = z\n .object({\n userId: userIdSchema,\n sportKey: sportKeySchema,\n operationId: statsOperationIdSchema,\n dryRun: z.boolean(),\n outcome: z.enum(GAME_STATS_REPAIR_OUTCOME_KEYS),\n baselineBefore: HistoricalStatsSchema.nullable(),\n stoppedOnGameIds: z.array(gameIdSchema),\n changes: z.array(StatsDestinationChangeSchema),\n })\n .strict();\nexport type AdminUpdateHistoricalStatsResult = z.infer<\n typeof AdminUpdateHistoricalStatsResultSchema\n>;\n\nexport const RunStatsValidationInputSchema = z\n .object({ operationId: statsOperationIdSchema, scope: StatsValidationScopeSchema })\n .strict();\nexport type RunStatsValidationInput = z.infer<typeof RunStatsValidationInputSchema>;\n\nexport const RunStatsValidationResultSchema = z\n .object({\n reportId: z.string().min(1),\n complete: z.boolean(),\n summary: StatsValidationSummarySchema,\n discrepancyCounts: StatsValidationReportSchema.shape.discrepancyCounts,\n })\n .strict();\nexport type RunStatsValidationResult = z.infer<typeof RunStatsValidationResultSchema>;\n\nexport const AdminDeleteStatsValidationReportInputSchema = z\n .object({ reportId: statsValidationReportIdSchema })\n .strict();\nexport type AdminDeleteStatsValidationReportInput = z.infer<\n typeof AdminDeleteStatsValidationReportInputSchema\n>;\n\nexport const AdminDeleteStatsValidationReportResultSchema = z\n .object({ reportId: statsValidationReportIdSchema })\n .strict();\nexport type AdminDeleteStatsValidationReportResult = z.infer<\n typeof AdminDeleteStatsValidationReportResultSchema\n>;\n"]}
|