@ttt-productions/q-core 0.1.28 → 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/admin-views.d.ts.map +1 -1
- package/dist/constants/admin-views.js +0 -3
- package/dist/constants/admin-views.js.map +1 -1
- package/dist/constants/business.d.ts.map +1 -1
- package/dist/constants/business.js +0 -52
- package/dist/constants/business.js.map +1 -1
- package/dist/constants/deployment.d.ts +0 -2
- package/dist/constants/deployment.d.ts.map +1 -1
- package/dist/constants/deployment.js +0 -2
- package/dist/constants/deployment.js.map +1 -1
- package/dist/constants/media.d.ts.map +1 -1
- package/dist/constants/media.js +4 -30
- package/dist/constants/media.js.map +1 -1
- package/dist/constants/scheduled-jobs.d.ts +0 -25
- package/dist/constants/scheduled-jobs.d.ts.map +1 -1
- package/dist/constants/scheduled-jobs.js +0 -26
- package/dist/constants/scheduled-jobs.js.map +1 -1
- package/dist/constants/sports.d.ts +1 -0
- package/dist/constants/sports.d.ts.map +1 -1
- package/dist/constants/sports.js +4 -25
- package/dist/constants/sports.js.map +1 -1
- package/dist/constants/storage-keys.d.ts +0 -38
- package/dist/constants/storage-keys.d.ts.map +1 -1
- package/dist/constants/storage-keys.js +0 -41
- package/dist/constants/storage-keys.js.map +1 -1
- package/dist/constants/telemetry.d.ts +0 -3
- package/dist/constants/telemetry.d.ts.map +1 -1
- package/dist/constants/telemetry.js +2 -11
- package/dist/constants/telemetry.js.map +1 -1
- package/dist/doc-schemas/admin-notifications.d.ts +1 -2
- package/dist/doc-schemas/admin-notifications.d.ts.map +1 -1
- package/dist/doc-schemas/admin-notifications.js +0 -41
- package/dist/doc-schemas/admin-notifications.js.map +1 -1
- package/dist/doc-schemas/aggregate-stats.d.ts.map +1 -1
- package/dist/doc-schemas/aggregate-stats.js +0 -35
- package/dist/doc-schemas/aggregate-stats.js.map +1 -1
- package/dist/doc-schemas/atoms.d.ts +0 -17
- package/dist/doc-schemas/atoms.d.ts.map +1 -1
- package/dist/doc-schemas/atoms.js +0 -36
- package/dist/doc-schemas/atoms.js.map +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/audit-event.js +0 -8
- package/dist/doc-schemas/audit-event.js.map +1 -1
- package/dist/doc-schemas/award-group-grant.d.ts +2 -8
- package/dist/doc-schemas/award-group-grant.d.ts.map +1 -1
- package/dist/doc-schemas/award-group-grant.js +0 -25
- package/dist/doc-schemas/award-group-grant.js.map +1 -1
- package/dist/doc-schemas/catalogs.d.ts.map +1 -1
- package/dist/doc-schemas/catalogs.js +0 -12
- package/dist/doc-schemas/catalogs.js.map +1 -1
- package/dist/doc-schemas/firestore-primitives.d.ts.map +1 -1
- package/dist/doc-schemas/firestore-primitives.js +0 -5
- package/dist/doc-schemas/firestore-primitives.js.map +1 -1
- package/dist/doc-schemas/gallery.d.ts.map +1 -1
- package/dist/doc-schemas/gallery.js +9 -18
- package/dist/doc-schemas/gallery.js.map +1 -1
- package/dist/doc-schemas/game-location.d.ts.map +1 -1
- package/dist/doc-schemas/game-location.js +2 -11
- package/dist/doc-schemas/game-location.js.map +1 -1
- package/dist/doc-schemas/game-stat-history.d.ts.map +1 -1
- package/dist/doc-schemas/game-stat-history.js +2 -11
- package/dist/doc-schemas/game-stat-history.js.map +1 -1
- package/dist/doc-schemas/game-stats.d.ts.map +1 -1
- package/dist/doc-schemas/game-stats.js +0 -56
- package/dist/doc-schemas/game-stats.js.map +1 -1
- package/dist/doc-schemas/league-team.d.ts.map +1 -1
- package/dist/doc-schemas/league-team.js +6 -29
- package/dist/doc-schemas/league-team.js.map +1 -1
- package/dist/doc-schemas/membership-roster-sync.d.ts.map +1 -1
- package/dist/doc-schemas/membership-roster-sync.js +0 -17
- package/dist/doc-schemas/membership-roster-sync.js.map +1 -1
- package/dist/doc-schemas/migration-console.d.ts +21 -15
- package/dist/doc-schemas/migration-console.d.ts.map +1 -1
- package/dist/doc-schemas/migration-console.js +0 -32
- package/dist/doc-schemas/migration-console.js.map +1 -1
- package/dist/doc-schemas/pending-media.d.ts.map +1 -1
- package/dist/doc-schemas/pending-media.js +8 -20
- 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 -13
- package/dist/doc-schemas/picture-retirement.js.map +1 -1
- package/dist/doc-schemas/publicUser.d.ts.map +1 -1
- package/dist/doc-schemas/publicUser.js +0 -5
- package/dist/doc-schemas/publicUser.js.map +1 -1
- package/dist/doc-schemas/registration-start.d.ts.map +1 -1
- package/dist/doc-schemas/registration-start.js +2 -5
- package/dist/doc-schemas/registration-start.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/registry.js +0 -10
- package/dist/doc-schemas/registry.js.map +1 -1
- package/dist/doc-schemas/reserved-display-name.d.ts.map +1 -1
- package/dist/doc-schemas/reserved-display-name.js +0 -5
- package/dist/doc-schemas/reserved-display-name.js.map +1 -1
- package/dist/doc-schemas/sport-game.d.ts.map +1 -1
- package/dist/doc-schemas/sport-game.js +1 -29
- package/dist/doc-schemas/sport-game.js.map +1 -1
- package/dist/doc-schemas/sport-league.d.ts +0 -9
- package/dist/doc-schemas/sport-league.d.ts.map +1 -1
- package/dist/doc-schemas/sport-league.js +4 -26
- package/dist/doc-schemas/sport-league.js.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 +7 -44
- package/dist/doc-schemas/stats-operation.js.map +1 -1
- package/dist/doc-schemas/status-reconcile-queue.d.ts +0 -6
- package/dist/doc-schemas/status-reconcile-queue.d.ts.map +1 -1
- package/dist/doc-schemas/status-reconcile-queue.js +0 -13
- package/dist/doc-schemas/status-reconcile-queue.js.map +1 -1
- package/dist/doc-schemas/sweep-state.d.ts.map +1 -1
- package/dist/doc-schemas/sweep-state.js +4 -20
- package/dist/doc-schemas/sweep-state.js.map +1 -1
- package/dist/doc-schemas/system.d.ts.map +1 -1
- package/dist/doc-schemas/system.js +1 -27
- package/dist/doc-schemas/system.js.map +1 -1
- package/dist/doc-schemas/team-membership.d.ts.map +1 -1
- package/dist/doc-schemas/team-membership.js +0 -10
- package/dist/doc-schemas/team-membership.js.map +1 -1
- package/dist/doc-schemas/user-profile.d.ts +0 -1
- package/dist/doc-schemas/user-profile.d.ts.map +1 -1
- package/dist/doc-schemas/user-profile.js +0 -28
- package/dist/doc-schemas/user-profile.js.map +1 -1
- package/dist/doc-schemas/waiver-template.d.ts.map +1 -1
- package/dist/doc-schemas/waiver-template.js +4 -25
- package/dist/doc-schemas/waiver-template.js.map +1 -1
- package/dist/doc-schemas/waivers-and-hardware.d.ts.map +1 -1
- package/dist/doc-schemas/waivers-and-hardware.js +0 -20
- package/dist/doc-schemas/waivers-and-hardware.js.map +1 -1
- package/dist/domain-events/domain-events.d.ts.map +1 -1
- package/dist/domain-events/domain-events.js +0 -67
- package/dist/domain-events/domain-events.js.map +1 -1
- package/dist/ids/award-grant-ids.d.ts.map +1 -1
- package/dist/ids/award-grant-ids.js +0 -7
- package/dist/ids/award-grant-ids.js.map +1 -1
- package/dist/ids/compound-ids.d.ts.map +1 -1
- package/dist/ids/compound-ids.js +0 -7
- package/dist/ids/compound-ids.js.map +1 -1
- package/dist/ids/minted-ids.d.ts.map +1 -1
- package/dist/ids/minted-ids.js +4 -14
- package/dist/ids/minted-ids.js.map +1 -1
- package/dist/ids/notification-ids.d.ts.map +1 -1
- package/dist/ids/notification-ids.js +0 -15
- package/dist/ids/notification-ids.js.map +1 -1
- package/dist/ids/picture-ids.d.ts +0 -5
- package/dist/ids/picture-ids.d.ts.map +1 -1
- package/dist/ids/picture-ids.js +0 -11
- package/dist/ids/picture-ids.js.map +1 -1
- package/dist/ids/stat-event-ids.d.ts +0 -6
- package/dist/ids/stat-event-ids.d.ts.map +1 -1
- package/dist/ids/stat-event-ids.js +0 -15
- package/dist/ids/stat-event-ids.js.map +1 -1
- package/dist/ids/stats-operation-ids.d.ts.map +1 -1
- package/dist/ids/stats-operation-ids.js +0 -7
- package/dist/ids/stats-operation-ids.js.map +1 -1
- package/dist/ids/waiver-template-ids.d.ts +0 -1
- package/dist/ids/waiver-template-ids.d.ts.map +1 -1
- package/dist/ids/waiver-template-ids.js +0 -2
- package/dist/ids/waiver-template-ids.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/input-formats/input-formats.d.ts +0 -80
- package/dist/input-formats/input-formats.d.ts.map +1 -1
- package/dist/input-formats/input-formats.js +0 -86
- package/dist/input-formats/input-formats.js.map +1 -1
- package/dist/media/file-origins.d.ts +0 -3
- package/dist/media/file-origins.d.ts.map +1 -1
- package/dist/media/file-origins.js +0 -26
- package/dist/media/file-origins.js.map +1 -1
- package/dist/media/picture-aspects.d.ts +0 -2
- package/dist/media/picture-aspects.d.ts.map +1 -1
- package/dist/media/picture-aspects.js +0 -5
- package/dist/media/picture-aspects.js.map +1 -1
- package/dist/media/picture-url.d.ts +0 -6
- package/dist/media/picture-url.d.ts.map +1 -1
- package/dist/media/picture-url.js +0 -9
- package/dist/media/picture-url.js.map +1 -1
- package/dist/media/upload-tray-display.d.ts +0 -3
- package/dist/media/upload-tray-display.d.ts.map +1 -1
- package/dist/media/upload-tray-display.js +0 -6
- package/dist/media/upload-tray-display.js.map +1 -1
- package/dist/migration-console/action-ids.d.ts +4 -1
- package/dist/migration-console/action-ids.d.ts.map +1 -1
- package/dist/migration-console/action-ids.js +8 -45
- 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 -24
- package/dist/migration-console/manifest.d.ts.map +1 -1
- package/dist/migration-console/manifest.js +174 -61
- package/dist/migration-console/manifest.js.map +1 -1
- package/dist/migration-console/run-state.d.ts +2 -14
- package/dist/migration-console/run-state.d.ts.map +1 -1
- package/dist/migration-console/run-state.js +3 -16
- package/dist/migration-console/run-state.js.map +1 -1
- package/dist/notifications/admin-notification-config.d.ts +0 -11
- package/dist/notifications/admin-notification-config.d.ts.map +1 -1
- package/dist/notifications/admin-notification-config.js +2 -13
- package/dist/notifications/admin-notification-config.js.map +1 -1
- package/dist/notifications/archive-all.d.ts.map +1 -1
- package/dist/notifications/archive-all.js +0 -2
- package/dist/notifications/archive-all.js.map +1 -1
- package/dist/notifications/occurrences.d.ts +0 -3
- package/dist/notifications/occurrences.d.ts.map +1 -1
- package/dist/notifications/occurrences.js +0 -7
- package/dist/notifications/occurrences.js.map +1 -1
- package/dist/paths/app-routes.d.ts +0 -12
- package/dist/paths/app-routes.d.ts.map +1 -1
- package/dist/paths/app-routes.js +0 -18
- package/dist/paths/app-routes.js.map +1 -1
- package/dist/paths/collection-groups.d.ts.map +1 -1
- package/dist/paths/collection-groups.js +0 -5
- package/dist/paths/collection-groups.js.map +1 -1
- package/dist/paths/collection-refs.d.ts.map +1 -1
- package/dist/paths/collection-refs.js +0 -4
- package/dist/paths/collection-refs.js.map +1 -1
- package/dist/paths/collections.d.ts +0 -5
- package/dist/paths/collections.d.ts.map +1 -1
- package/dist/paths/collections.js +0 -68
- package/dist/paths/collections.js.map +1 -1
- package/dist/paths/path-builders.d.ts.map +1 -1
- package/dist/paths/path-builders.js +0 -16
- package/dist/paths/path-builders.js.map +1 -1
- package/dist/paths/picture-owner-paths.d.ts +0 -4
- package/dist/paths/picture-owner-paths.d.ts.map +1 -1
- package/dist/paths/picture-owner-paths.js +2 -11
- package/dist/paths/picture-owner-paths.js.map +1 -1
- package/dist/paths/storage-paths.d.ts +0 -18
- package/dist/paths/storage-paths.d.ts.map +1 -1
- package/dist/paths/storage-paths.js +0 -23
- package/dist/paths/storage-paths.js.map +1 -1
- package/dist/paths/utils.d.ts +0 -6
- package/dist/paths/utils.d.ts.map +1 -1
- package/dist/paths/utils.js +0 -9
- package/dist/paths/utils.js.map +1 -1
- package/dist/schemas/account-settings.d.ts.map +1 -1
- package/dist/schemas/account-settings.js +0 -7
- package/dist/schemas/account-settings.js.map +1 -1
- package/dist/schemas/admin-notifications.d.ts.map +1 -1
- package/dist/schemas/admin-notifications.js +0 -17
- package/dist/schemas/admin-notifications.js.map +1 -1
- package/dist/schemas/admin-stats.d.ts.map +1 -1
- package/dist/schemas/admin-stats.js +0 -9
- package/dist/schemas/admin-stats.js.map +1 -1
- package/dist/schemas/app-config.d.ts.map +1 -1
- package/dist/schemas/app-config.js +0 -10
- package/dist/schemas/app-config.js.map +1 -1
- package/dist/schemas/atoms.d.ts.map +1 -1
- package/dist/schemas/atoms.js +0 -10
- package/dist/schemas/atoms.js.map +1 -1
- package/dist/schemas/awards.d.ts +3 -3
- package/dist/schemas/awards.d.ts.map +1 -1
- package/dist/schemas/awards.js +0 -29
- package/dist/schemas/awards.js.map +1 -1
- package/dist/schemas/dead-letters.d.ts +0 -3
- package/dist/schemas/dead-letters.d.ts.map +1 -1
- package/dist/schemas/dead-letters.js +0 -15
- package/dist/schemas/dead-letters.js.map +1 -1
- package/dist/schemas/game-locations.d.ts.map +1 -1
- package/dist/schemas/game-locations.js +0 -6
- package/dist/schemas/game-locations.js.map +1 -1
- package/dist/schemas/hardware-loan-contracts.d.ts.map +1 -1
- package/dist/schemas/hardware-loan-contracts.js +0 -13
- package/dist/schemas/hardware-loan-contracts.js.map +1 -1
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +0 -2
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/leagues.d.ts.map +1 -1
- package/dist/schemas/leagues.js +0 -24
- package/dist/schemas/leagues.js.map +1 -1
- package/dist/schemas/migration-console.d.ts +58 -15
- package/dist/schemas/migration-console.d.ts.map +1 -1
- package/dist/schemas/migration-console.js +4 -34
- package/dist/schemas/migration-console.js.map +1 -1
- package/dist/schemas/pictures.d.ts.map +1 -1
- package/dist/schemas/pictures.js +0 -10
- package/dist/schemas/pictures.js.map +1 -1
- package/dist/schemas/schedules.d.ts.map +1 -1
- package/dist/schemas/schedules.js +0 -26
- package/dist/schemas/schedules.js.map +1 -1
- package/dist/schemas/scoring.d.ts +20 -26
- package/dist/schemas/scoring.d.ts.map +1 -1
- package/dist/schemas/scoring.js +0 -33
- package/dist/schemas/scoring.js.map +1 -1
- package/dist/schemas/signed-waivers.d.ts.map +1 -1
- package/dist/schemas/signed-waivers.js +0 -22
- package/dist/schemas/signed-waivers.js.map +1 -1
- package/dist/schemas/stats.d.ts +12 -0
- package/dist/schemas/stats.d.ts.map +1 -1
- package/dist/schemas/stats.js +21 -61
- package/dist/schemas/stats.js.map +1 -1
- package/dist/schemas/team-joining.d.ts.map +1 -1
- package/dist/schemas/team-joining.js +0 -30
- package/dist/schemas/team-joining.js.map +1 -1
- package/dist/schemas/teams.d.ts +0 -1
- package/dist/schemas/teams.d.ts.map +1 -1
- package/dist/schemas/teams.js +0 -83
- package/dist/schemas/teams.js.map +1 -1
- package/dist/schemas/uploads.d.ts +0 -8
- package/dist/schemas/uploads.d.ts.map +1 -1
- package/dist/schemas/uploads.js +0 -29
- package/dist/schemas/uploads.js.map +1 -1
- package/dist/schemas/users.d.ts +0 -1
- package/dist/schemas/users.d.ts.map +1 -1
- package/dist/schemas/users.js +0 -41
- package/dist/schemas/users.js.map +1 -1
- package/dist/schemas/waiver-templates.d.ts.map +1 -1
- package/dist/schemas/waiver-templates.js +0 -7
- package/dist/schemas/waiver-templates.js.map +1 -1
- package/dist/sports/basketball-scoring.d.ts +0 -4
- package/dist/sports/basketball-scoring.d.ts.map +1 -1
- package/dist/sports/basketball-scoring.js +0 -34
- package/dist/sports/basketball-scoring.js.map +1 -1
- package/dist/sports/basketball.d.ts.map +1 -1
- package/dist/sports/basketball.js +0 -5
- package/dist/sports/basketball.js.map +1 -1
- package/dist/sports/bulk-entry.d.ts +0 -22
- package/dist/sports/bulk-entry.d.ts.map +1 -1
- package/dist/sports/bulk-entry.js +0 -10
- package/dist/sports/bulk-entry.js.map +1 -1
- package/dist/sports/column-catalog.d.ts +0 -17
- package/dist/sports/column-catalog.d.ts.map +1 -1
- package/dist/sports/column-catalog.js +0 -10
- package/dist/sports/column-catalog.js.map +1 -1
- package/dist/sports/contribution.d.ts +2 -59
- package/dist/sports/contribution.d.ts.map +1 -1
- package/dist/sports/contribution.js +2 -45
- package/dist/sports/contribution.js.map +1 -1
- package/dist/sports/curling-scoring.d.ts +0 -1
- package/dist/sports/curling-scoring.d.ts.map +1 -1
- package/dist/sports/curling-scoring.js +0 -27
- package/dist/sports/curling-scoring.js.map +1 -1
- package/dist/sports/curling.d.ts.map +1 -1
- package/dist/sports/curling.js +0 -4
- package/dist/sports/curling.js.map +1 -1
- package/dist/sports/finalized-record.d.ts +2 -19
- package/dist/sports/finalized-record.d.ts.map +1 -1
- package/dist/sports/finalized-record.js +21 -22
- package/dist/sports/finalized-record.js.map +1 -1
- package/dist/sports/football-scoring.d.ts.map +1 -1
- package/dist/sports/football-scoring.js +0 -21
- package/dist/sports/football-scoring.js.map +1 -1
- package/dist/sports/football.d.ts.map +1 -1
- package/dist/sports/football.js +0 -4
- package/dist/sports/football.js.map +1 -1
- package/dist/sports/index.d.ts.map +1 -1
- package/dist/sports/index.js +0 -2
- package/dist/sports/index.js.map +1 -1
- package/dist/sports/ledger-continuity.d.ts +0 -2
- package/dist/sports/ledger-continuity.d.ts.map +1 -1
- package/dist/sports/ledger-continuity.js +0 -5
- package/dist/sports/ledger-continuity.js.map +1 -1
- package/dist/sports/lifetime-summary.d.ts +0 -6
- package/dist/sports/lifetime-summary.d.ts.map +1 -1
- package/dist/sports/lifetime-summary.js +0 -7
- package/dist/sports/lifetime-summary.js.map +1 -1
- package/dist/sports/rankings.d.ts +0 -12
- package/dist/sports/rankings.d.ts.map +1 -1
- package/dist/sports/rankings.js +0 -15
- package/dist/sports/rankings.js.map +1 -1
- package/dist/sports/registry.d.ts +0 -10
- package/dist/sports/registry.d.ts.map +1 -1
- package/dist/sports/registry.js +0 -9
- package/dist/sports/registry.js.map +1 -1
- package/dist/sports/replay.d.ts +0 -11
- package/dist/sports/replay.d.ts.map +1 -1
- package/dist/sports/replay.js +0 -16
- package/dist/sports/replay.js.map +1 -1
- package/dist/sports/rollup-check.d.ts +0 -7
- package/dist/sports/rollup-check.d.ts.map +1 -1
- package/dist/sports/rollup-check.js +0 -14
- package/dist/sports/rollup-check.js.map +1 -1
- package/dist/sports/score-mirror.d.ts +0 -1
- package/dist/sports/score-mirror.d.ts.map +1 -1
- package/dist/sports/score-mirror.js +0 -4
- package/dist/sports/score-mirror.js.map +1 -1
- package/dist/sports/scoring-display.d.ts +0 -30
- package/dist/sports/scoring-display.d.ts.map +1 -1
- package/dist/sports/scoring-display.js +0 -9
- package/dist/sports/scoring-display.js.map +1 -1
- package/dist/sports/scoring.d.ts +0 -36
- package/dist/sports/scoring.d.ts.map +1 -1
- package/dist/sports/scoring.js +0 -10
- package/dist/sports/scoring.js.map +1 -1
- package/dist/sports/shared-columns.d.ts +0 -1
- package/dist/sports/shared-columns.d.ts.map +1 -1
- package/dist/sports/shared-columns.js +0 -7
- package/dist/sports/shared-columns.js.map +1 -1
- package/dist/sports/sport-adapter.d.ts +0 -32
- package/dist/sports/sport-adapter.d.ts.map +1 -1
- package/dist/sports/sport-adapter.js +0 -7
- package/dist/sports/sport-adapter.js.map +1 -1
- package/dist/sports/store-driver.d.ts +0 -28
- package/dist/sports/store-driver.d.ts.map +1 -1
- package/dist/sports/store-driver.js +0 -38
- package/dist/sports/store-driver.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 -67
- package/dist/types/audit.js.map +1 -1
- package/dist/types/claims.d.ts +0 -10
- package/dist/types/claims.d.ts.map +1 -1
- package/dist/types/claims.js +0 -16
- package/dist/types/claims.js.map +1 -1
- package/dist/types/notifications.d.ts.map +1 -1
- package/dist/types/notifications.js +7 -25
- package/dist/types/notifications.js.map +1 -1
- package/dist/types/picture-owners.d.ts +0 -1
- package/dist/types/picture-owners.d.ts.map +1 -1
- package/dist/types/picture-owners.js +0 -6
- package/dist/types/picture-owners.js.map +1 -1
- package/dist/types/schedules.d.ts.map +1 -1
- package/dist/types/schedules.js +0 -9
- package/dist/types/schedules.js.map +1 -1
- package/dist/types/sports.d.ts.map +1 -1
- package/dist/types/sports.js +0 -24
- package/dist/types/sports.js.map +1 -1
- package/dist/types/stats.d.ts.map +1 -1
- package/dist/types/stats.js +0 -65
- package/dist/types/stats.js.map +1 -1
- package/dist/types/unions.d.ts +0 -2
- package/dist/types/unions.d.ts.map +1 -1
- package/dist/types/unions.js +3 -91
- package/dist/types/unions.js.map +1 -1
- package/dist/types/uploads.d.ts.map +1 -1
- package/dist/types/uploads.js +0 -7
- package/dist/types/uploads.js.map +1 -1
- package/dist/upload-variables/on-progress.d.ts.map +1 -1
- package/dist/upload-variables/on-progress.js +2 -5
- package/dist/upload-variables/on-progress.js.map +1 -1
- package/dist/upload-variables/picture-upload-variables.d.ts +0 -1
- package/dist/upload-variables/picture-upload-variables.d.ts.map +1 -1
- package/dist/upload-variables/picture-upload-variables.js +0 -4
- package/dist/upload-variables/picture-upload-variables.js.map +1 -1
- package/dist/upload-variables/sign-hardware-contract-variables.d.ts.map +1 -1
- package/dist/upload-variables/sign-hardware-contract-variables.js +0 -2
- package/dist/upload-variables/sign-hardware-contract-variables.js.map +1 -1
- package/dist/upload-variables/sign-waiver-variables.d.ts.map +1 -1
- package/dist/upload-variables/sign-waiver-variables.js +0 -4
- package/dist/upload-variables/sign-waiver-variables.js.map +1 -1
- package/dist/utils/account-status.d.ts.map +1 -1
- package/dist/utils/account-status.js +0 -4
- package/dist/utils/account-status.js.map +1 -1
- package/dist/utils/app-config.d.ts +0 -53
- package/dist/utils/app-config.d.ts.map +1 -1
- package/dist/utils/app-config.js +0 -62
- package/dist/utils/app-config.js.map +1 -1
- package/dist/utils/display-name.d.ts +0 -7
- package/dist/utils/display-name.d.ts.map +1 -1
- package/dist/utils/display-name.js +0 -8
- package/dist/utils/display-name.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 +0 -11
- package/dist/utils/league-calendar.d.ts.map +1 -1
- package/dist/utils/league-calendar.js +7 -19
- package/dist/utils/league-calendar.js.map +1 -1
- package/dist/utils/league-join-warning.d.ts +0 -11
- package/dist/utils/league-join-warning.d.ts.map +1 -1
- package/dist/utils/league-join-warning.js +0 -28
- package/dist/utils/league-join-warning.js.map +1 -1
- package/dist/utils/league-joining.d.ts +0 -1
- package/dist/utils/league-joining.d.ts.map +1 -1
- package/dist/utils/league-joining.js +0 -7
- package/dist/utils/league-joining.js.map +1 -1
- package/dist/utils/league-mode.d.ts +0 -1
- package/dist/utils/league-mode.d.ts.map +1 -1
- package/dist/utils/league-mode.js +0 -4
- package/dist/utils/league-mode.js.map +1 -1
- package/dist/utils/schedules.d.ts +0 -15
- package/dist/utils/schedules.d.ts.map +1 -1
- package/dist/utils/schedules.js +0 -19
- package/dist/utils/schedules.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/dist/utils/team-creation.d.ts +0 -2
- package/dist/utils/team-creation.d.ts.map +1 -1
- package/dist/utils/team-creation.js +0 -6
- package/dist/utils/team-creation.js.map +1 -1
- package/dist/utils/team-member-actions.d.ts +0 -6
- package/dist/utils/team-member-actions.d.ts.map +1 -1
- package/dist/utils/team-member-actions.js +0 -12
- package/dist/utils/team-member-actions.js.map +1 -1
- package/package.json +2 -1
package/dist/types/unions.js
CHANGED
|
@@ -1,19 +1,7 @@
|
|
|
1
|
-
// Canonical unions (RULE-STD-ARCH-102): an `as const` key array with the type derived from it. Zod enums,
|
|
2
|
-
// type positions, query filters, and option lists all derive from these arrays — never a quoted
|
|
3
|
-
// member.
|
|
4
|
-
// The two global roles. Each is a roster on `_systemData/adminList` and a boolean custom claim of
|
|
5
|
-
// the same name; the roster is the authority, the claim a fast hint.
|
|
6
1
|
export const SYSTEM_ROLE_KEYS = ['admin', 'referee'];
|
|
7
|
-
// Account status on the private profile. Only an exact `active` passes the server auth assertion.
|
|
8
2
|
export const USER_STATUS_KEYS = ['active', 'banned'];
|
|
9
|
-
/** The one status that lets an account act. */
|
|
10
3
|
export const ACTIVE_USER_STATUS = 'active';
|
|
11
|
-
/** The status an admin's ban sets: the account keeps its data and cannot sign in. */
|
|
12
4
|
export const BANNED_USER_STATUS = 'banned';
|
|
13
|
-
// Which post-commit Auth effect queued an account on `statusReconcileQueue/{userId}`:
|
|
14
|
-
// `accountStatus` — a status change's disabled flag, status claim, and token revocation, queued in
|
|
15
|
-
// the status transaction itself; `roleClaims` — the `admin` / `referee` claims after a failed roster
|
|
16
|
-
// claim write.
|
|
17
5
|
export const STATUS_RECONCILE_QUEUE_AUTH_EFFECTS = ['accountStatus', 'roleClaims'];
|
|
18
6
|
export const ACCOUNT_STATUS_AUTH_EFFECT = 'accountStatus';
|
|
19
7
|
export const ROLE_CLAIMS_EFFECT = 'roleClaims';
|
|
@@ -21,30 +9,19 @@ export const TEAM_ROLE_KEYS = ['captain', 'coCaptain', 'player'];
|
|
|
21
9
|
// The roles that carry captain authority. `firestore.rules` restates this list, because a rules file
|
|
22
10
|
// cannot import it.
|
|
23
11
|
export const CAPTAIN_TEAM_ROLES = ['captain', 'coCaptain'];
|
|
24
|
-
// The one role a team holds at most one of: team creation, the admin captain change, and ghost
|
|
25
|
-
// linking write it, and nothing else does.
|
|
26
12
|
export const TEAM_CAPTAIN_ROLE = 'captain';
|
|
27
|
-
// The two roles below the captain. A co-captain holds every captain power except managing
|
|
28
|
-
// co-captains; a player holds none.
|
|
29
13
|
export const TEAM_CO_CAPTAIN_ROLE = 'coCaptain';
|
|
30
14
|
export const TEAM_PLAYER_ROLE = 'player';
|
|
31
|
-
// The roles a member's role change moves a membership between — promoting a player to co-captain,
|
|
32
|
-
// or demoting a co-captain to player. The captain's role moves only through the admin's captain
|
|
33
|
-
// change, so it is never one of them.
|
|
34
15
|
export const MEMBER_ASSIGNABLE_TEAM_ROLES = [
|
|
35
16
|
TEAM_CO_CAPTAIN_ROLE,
|
|
36
17
|
TEAM_PLAYER_ROLE,
|
|
37
18
|
];
|
|
38
|
-
//
|
|
39
|
-
// higher of the two roles: `TEAM_ROLE_KEYS` runs from the highest role down.
|
|
19
|
+
// `TEAM_ROLE_KEYS` runs from the highest role down.
|
|
40
20
|
export function higherTeamRole(left, right) {
|
|
41
21
|
return TEAM_ROLE_KEYS.indexOf(left) <= TEAM_ROLE_KEYS.indexOf(right) ? left : right;
|
|
42
22
|
}
|
|
43
23
|
export const TEAM_MEMBERSHIP_STATUS_KEYS = ['active'];
|
|
44
|
-
// The status a membership grants authority in. Every membership-based check reads it with the role
|
|
45
|
-
// (RULE-QS-BACKEND-901), so a status added later grants nothing until a check names it.
|
|
46
24
|
export const ACTIVE_TEAM_MEMBERSHIP_STATUS = 'active';
|
|
47
|
-
// How a membership came to exist; absent on a membership whose provenance was never recorded.
|
|
48
25
|
export const TEAM_JOIN_METHOD_KEYS = [
|
|
49
26
|
'teamCreation',
|
|
50
27
|
'invite',
|
|
@@ -53,49 +30,29 @@ export const TEAM_JOIN_METHOD_KEYS = [
|
|
|
53
30
|
'ghostAdd',
|
|
54
31
|
];
|
|
55
32
|
export const LEAGUE_STATUS_KEYS = ['pending', 'upcoming', 'active', 'closed'];
|
|
56
|
-
// Every league is created unpublished; the admin moves it forward from here.
|
|
57
33
|
export const LEAGUE_STATUS_ON_CREATE = 'pending';
|
|
58
|
-
// A finished season. Its settings stay editable; its status and mode never change again.
|
|
59
34
|
export const CLOSED_LEAGUE_STATUS = 'closed';
|
|
60
|
-
// The two published statuses before a league closes: its teams are forming, then it is in play.
|
|
61
35
|
export const UPCOMING_LEAGUE_STATUS = 'upcoming';
|
|
62
36
|
export const ACTIVE_LEAGUE_STATUS = 'active';
|
|
63
|
-
// The statuses a league may move to from each status. Movement is forward only, and `closed` is
|
|
64
|
-
// final; the status callable refuses any other move.
|
|
65
37
|
export const LEAGUE_STATUS_TRANSITIONS = {
|
|
66
38
|
pending: ['upcoming', 'closed'],
|
|
67
39
|
upcoming: ['active', 'closed'],
|
|
68
40
|
active: ['closed'],
|
|
69
41
|
closed: [],
|
|
70
42
|
};
|
|
71
|
-
// Every status but closed: a league still being set up, published, or played. Whatever such a
|
|
72
|
-
// league is configured with — its waiver template among them — is still in use.
|
|
73
43
|
export const OPEN_LEAGUE_STATUS_KEYS = LEAGUE_STATUS_KEYS.filter((status) => status !== CLOSED_LEAGUE_STATUS);
|
|
74
|
-
// A league players are part of now or next: published and not yet closed. The admin dashboard's
|
|
75
|
-
// active free-agent count covers only these leagues.
|
|
76
44
|
export const CURRENT_LEAGUE_STATUS_KEYS = [
|
|
77
45
|
UPCOMING_LEAGUE_STATUS,
|
|
78
46
|
ACTIVE_LEAGUE_STATUS,
|
|
79
47
|
];
|
|
80
48
|
export const LEAGUE_MODE_KEYS = ['Regular', 'Competitive/Recreational'];
|
|
81
|
-
// Present only on teams in a Competitive/Recreational league. In any other mode a team has no type:
|
|
82
|
-
// the field is absent, never null.
|
|
83
49
|
export const TEAM_TYPE_KEYS = ['Competitive', 'Recreational'];
|
|
84
|
-
// The one mode whose teams each carry a `teamType`.
|
|
85
50
|
export const TEAM_TYPED_LEAGUE_MODE = 'Competitive/Recreational';
|
|
86
|
-
// The type every team takes when its league switches into `TEAM_TYPED_LEAGUE_MODE`.
|
|
87
51
|
export const TEAM_TYPE_ON_MODE_SWITCH = 'Recreational';
|
|
88
52
|
export const GAME_STATUS_KEYS = ['scheduled', 'inprogress', 'completed'];
|
|
89
|
-
// The one status a finished game holds: it was played, and its stats count. Every reader asking
|
|
90
|
-
// whether a game was played compares against this rather than naming a status of its own.
|
|
91
53
|
export const COMPLETED_GAME_STATUS = 'completed';
|
|
92
|
-
// The status a newly scheduled game is created in.
|
|
93
54
|
export const GAME_STATUS_ON_CREATE = 'scheduled';
|
|
94
|
-
// The status reopen returns a finalized game to: open for scoring again, its record of who played
|
|
95
|
-
// kept.
|
|
96
55
|
export const GAME_STATUS_ON_REOPEN = 'inprogress';
|
|
97
|
-
// An invitation is pending until the invitee accepts (`approved`) or declines (`rejected`) it, or the
|
|
98
|
-
// team withdraws it (`cancelled`). A membership on its team made any other way closes it `approved`.
|
|
99
56
|
export const TEAM_INVITATION_STATUS_KEYS = [
|
|
100
57
|
'pending',
|
|
101
58
|
'approved',
|
|
@@ -106,9 +63,6 @@ export const PENDING_TEAM_INVITATION_STATUS = 'pending';
|
|
|
106
63
|
export const APPROVED_TEAM_INVITATION_STATUS = 'approved';
|
|
107
64
|
export const REJECTED_TEAM_INVITATION_STATUS = 'rejected';
|
|
108
65
|
export const CANCELLED_TEAM_INVITATION_STATUS = 'cancelled';
|
|
109
|
-
// A join request is pending until the team's leaders accept (`approved`) or reject (`rejected`) it,
|
|
110
|
-
// or the requester withdraws it (`cancelled`). A membership on its team made any other way closes it
|
|
111
|
-
// `approved`.
|
|
112
66
|
export const TEAM_JOIN_REQUEST_STATUS_KEYS = [
|
|
113
67
|
'pending',
|
|
114
68
|
'approved',
|
|
@@ -120,29 +74,16 @@ export const APPROVED_TEAM_JOIN_REQUEST_STATUS = 'approved';
|
|
|
120
74
|
export const REJECTED_TEAM_JOIN_REQUEST_STATUS = 'rejected';
|
|
121
75
|
export const CANCELLED_TEAM_JOIN_REQUEST_STATUS = 'cancelled';
|
|
122
76
|
export const HARDWARE_LOAN_CONTRACT_STATUS_KEYS = ['pending', 'loaned', 'returned'];
|
|
123
|
-
// Why an award grant passed over an account it named: it has no profile, or it is a ghost, which
|
|
124
|
-
// holds no account.
|
|
125
77
|
export const AWARD_GRANT_SKIP_REASON_KEYS = ['noProfile', 'ghost'];
|
|
126
|
-
// The two badges an account shows beside its name.
|
|
127
78
|
export const FEATURED_AWARD_SLOT_KEYS = ['primary', 'secondary'];
|
|
128
|
-
// The groups an award is granted to all at once: every active member of a team, or of a league.
|
|
129
79
|
export const AWARD_GROUP_TYPE_KEYS = ['team', 'league'];
|
|
130
|
-
// A decision on one award for one group: grant it to the group's people, or take back what the
|
|
131
|
-
// group's grants gave.
|
|
132
80
|
export const AWARD_GROUP_GRANT_ACTION_KEYS = ['grant', 'revoke'];
|
|
133
|
-
// A decision is `pending` until every page of it is done, then `complete`.
|
|
134
81
|
export const AWARD_GROUP_GRANT_STATUS_KEYS = ['pending', 'complete'];
|
|
135
|
-
// Why taking a group's award back left one person holding it: they held it before the grant reached
|
|
136
|
-
// them, or another group's grant still holds it for them.
|
|
137
82
|
export const AWARD_GROUP_REVOKE_SKIP_KEYS = ['heldBefore', 'heldByAnotherGrant'];
|
|
138
83
|
export const PENDING_HARDWARE_LOAN_CONTRACT_STATUS = 'pending';
|
|
139
84
|
export const LOANED_HARDWARE_LOAN_CONTRACT_STATUS = 'loaned';
|
|
140
85
|
export const RETURNED_HARDWARE_LOAN_CONTRACT_STATUS = 'returned';
|
|
141
|
-
// What deleting a waiver template did. A template nothing names is deleted with its versions; one a
|
|
142
|
-
// signature or a closed league still names is retired — kept for them, offered to no new league.
|
|
143
86
|
export const WAIVER_TEMPLATE_DELETE_OUTCOME_KEYS = ['deleted', 'retired'];
|
|
144
|
-
// What last changed the stats, as announced on the stats beacon; `link` is a ghost link moving a
|
|
145
|
-
// game's lines onto an account.
|
|
146
87
|
export const STATS_BEACON_ACTION_KEYS = [
|
|
147
88
|
'finalize',
|
|
148
89
|
'reopen',
|
|
@@ -151,41 +92,25 @@ export const STATS_BEACON_ACTION_KEYS = [
|
|
|
151
92
|
'historical-update',
|
|
152
93
|
'link',
|
|
153
94
|
];
|
|
154
|
-
// The actions that describe one game, so a beacon announcing one names the game, its league, and its
|
|
155
|
-
// teams; every other action names no game, and a game id left beside it would point at a stale one.
|
|
156
95
|
export const GAME_SCOPED_STATS_BEACON_ACTION_KEYS = [
|
|
157
96
|
'finalize',
|
|
158
97
|
'reopen',
|
|
159
98
|
];
|
|
160
|
-
//
|
|
161
|
-
// status added later is closed until it is named here, never open by default.
|
|
99
|
+
// Listed explicitly, so a status added later is closed until it is named here, never open by default.
|
|
162
100
|
export const OPEN_GAME_STATUS_KEYS = [
|
|
163
101
|
'scheduled',
|
|
164
102
|
'inprogress',
|
|
165
103
|
];
|
|
166
|
-
// Whether a game is still open — not yet finalized — so a scorer may still change it. Both app roots
|
|
167
|
-
// ask this one predicate.
|
|
168
104
|
export function isOpenGameStatus(status) {
|
|
169
105
|
return OPEN_GAME_STATUS_KEYS.includes(status);
|
|
170
106
|
}
|
|
171
|
-
// Where one membership's roster obligation stands. `pending` waits for the reconciliation worker;
|
|
172
|
-
// `failed` has spent its retries and waits for an admin's retry; `reconciled` owes nothing.
|
|
173
107
|
export const MEMBERSHIP_ROSTER_SYNC_STATUS_KEYS = ['pending', 'reconciled', 'failed'];
|
|
174
108
|
export const PENDING_ROSTER_SYNC_STATUS = 'pending';
|
|
175
109
|
export const RECONCILED_ROSTER_SYNC_STATUS = 'reconciled';
|
|
176
110
|
export const FAILED_ROSTER_SYNC_STATUS = 'failed';
|
|
177
|
-
// The authority a ghost's waiver was signed under: the witness's captaincy on the ghost's team, or
|
|
178
|
-
// the global role the admin entry confirmed.
|
|
179
111
|
export const WAIVER_WITNESS_AUTHORITY_KEYS = ['captain', 'coCaptain', 'admin', 'referee'];
|
|
180
|
-
// Why a signing was refused, named in its details so the signing dialog answers it: `waiverChanged`
|
|
181
|
-
// when the wording the signer saw — the template id and version the dialog sent — is no longer the
|
|
182
|
-
// league's, so the dialog loads the current wording to read again.
|
|
183
112
|
export const WAIVER_SIGNING_REFUSAL_KEYS = ['waiverChanged'];
|
|
184
|
-
// Why a waiver-template publication was refused, named in its details so the editor answers it:
|
|
185
|
-
// `templateVersionChanged` when the version the editor loaded is no longer the template's current
|
|
186
|
-
// one, so the editor keeps the admin's draft and shows the newer wording before publishing again.
|
|
187
113
|
export const WAIVER_TEMPLATE_EDIT_REFUSAL_KEYS = ['templateVersionChanged'];
|
|
188
|
-
// The icon a team picks at creation; the persisted value is the icon component's name.
|
|
189
114
|
export const TEAM_ICON_KEYS = [
|
|
190
115
|
'Shield',
|
|
191
116
|
'Swords',
|
|
@@ -216,7 +141,7 @@ export const TEAM_ICON_KEYS = [
|
|
|
216
141
|
'Diamond',
|
|
217
142
|
'Gem',
|
|
218
143
|
'Anchor',
|
|
219
|
-
// Appended — the set only grows, and no stored key is ever renamed or removed.
|
|
144
|
+
// Appended — the set only grows, and no stored key is ever renamed or removed.
|
|
220
145
|
'TreePine',
|
|
221
146
|
'Trees',
|
|
222
147
|
'TreeDeciduous',
|
|
@@ -241,7 +166,6 @@ export const TEAM_ICON_KEYS = [
|
|
|
241
166
|
'Sunrise',
|
|
242
167
|
'Rainbow',
|
|
243
168
|
'Bell',
|
|
244
|
-
// Awards and sport.
|
|
245
169
|
'Trophy',
|
|
246
170
|
'Medal',
|
|
247
171
|
'Award',
|
|
@@ -252,7 +176,6 @@ export const TEAM_ICON_KEYS = [
|
|
|
252
176
|
'Goal',
|
|
253
177
|
'Dumbbell',
|
|
254
178
|
'Footprints',
|
|
255
|
-
// Power and the elements.
|
|
256
179
|
'Zap',
|
|
257
180
|
'Flame',
|
|
258
181
|
'FlameKindling',
|
|
@@ -267,14 +190,12 @@ export const TEAM_ICON_KEYS = [
|
|
|
267
190
|
'Droplet',
|
|
268
191
|
'CloudLightning',
|
|
269
192
|
'MoonStar',
|
|
270
|
-
// Arms and strongholds.
|
|
271
193
|
'Sword',
|
|
272
194
|
'Axe',
|
|
273
195
|
'Hammer',
|
|
274
196
|
'Pickaxe',
|
|
275
197
|
'ShieldHalf',
|
|
276
198
|
'Castle',
|
|
277
|
-
// Animals.
|
|
278
199
|
'Squirrel',
|
|
279
200
|
'Rat',
|
|
280
201
|
'Panda',
|
|
@@ -286,7 +207,6 @@ export const TEAM_ICON_KEYS = [
|
|
|
286
207
|
'Feather',
|
|
287
208
|
'Bone',
|
|
288
209
|
'Origami',
|
|
289
|
-
// Food.
|
|
290
210
|
'Citrus',
|
|
291
211
|
'Banana',
|
|
292
212
|
'Carrot',
|
|
@@ -294,7 +214,6 @@ export const TEAM_ICON_KEYS = [
|
|
|
294
214
|
'Cookie',
|
|
295
215
|
'Donut',
|
|
296
216
|
'Coffee',
|
|
297
|
-
// Games and music.
|
|
298
217
|
'Dices',
|
|
299
218
|
'Puzzle',
|
|
300
219
|
'Gamepad2',
|
|
@@ -304,22 +223,15 @@ export const TEAM_ICON_KEYS = [
|
|
|
304
223
|
'Guitar',
|
|
305
224
|
'Hexagon',
|
|
306
225
|
'Triangle',
|
|
307
|
-
// Travel.
|
|
308
226
|
'Sailboat',
|
|
309
227
|
'Tractor',
|
|
310
228
|
'Truck',
|
|
311
229
|
];
|
|
312
|
-
// A picture's processed sizes, smallest first: every picture kind declares all three, and a display
|
|
313
|
-
// asks for the smallest one that covers its slot.
|
|
314
230
|
export const PICTURE_VARIANT_KEYS = ['sm', 'md', 'lg'];
|
|
315
|
-
// What a stats check found, game tier first — a game's own numbers are the cause of the aggregate
|
|
316
|
-
// findings, so Fix stats repairs games before it rebuilds what they feed.
|
|
317
231
|
export const GAME_TIER_DISCREPANCY_KIND_KEYS = [
|
|
318
|
-
// A game whose document the check could not read: nothing else about it could be checked.
|
|
319
232
|
'gameUnreadable',
|
|
320
233
|
'invalidEvent',
|
|
321
234
|
'eventSequenceMismatch',
|
|
322
|
-
// A game whose events do not hold exactly the sequences 1..n: a gap or a duplicate.
|
|
323
235
|
'eventSequenceGap',
|
|
324
236
|
'rollupMismatch',
|
|
325
237
|
'scoreMirrorMismatch',
|
package/dist/types/unions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unions.js","sourceRoot":"","sources":["../../src/types/unions.ts"],"names":[],"mappings":"AAAA,0GAA0G;AAC1G,gGAAgG;AAChG,UAAU;AAEV,kGAAkG;AAClG,qEAAqE;AACrE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,SAAS,CAAU,CAAC;AAG9D,kGAAkG;AAClG,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAU,CAAC;AAE9D,+CAA+C;AAC/C,MAAM,CAAC,MAAM,kBAAkB,GAAG,QAA6B,CAAC;AAChE,qFAAqF;AACrF,MAAM,CAAC,MAAM,kBAAkB,GAAG,QAA6B,CAAC;AAEhE,sFAAsF;AACtF,mGAAmG;AACnG,qGAAqG;AACrG,eAAe;AACf,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,eAAe,EAAE,YAAY,CAAU,CAAC;AAE5F,MAAM,CAAC,MAAM,0BAA0B,GACrC,eAAiE,CAAC;AACpE,MAAM,CAAC,MAAM,kBAAkB,GAAG,YAA8D,CAAC;AAEjG,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAU,CAAC;AAG1E,qGAAqG;AACrG,oBAAoB;AACpB,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,SAAS,EAAE,WAAW,CAAwC,CAAC;AAElG,+FAA+F;AAC/F,2CAA2C;AAC3C,MAAM,CAAC,MAAM,iBAAiB,GAAG,SAAqC,CAAC;AAEvE,0FAA0F;AAC1F,oCAAoC;AACpC,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAuC,CAAC;AAC5E,MAAM,CAAC,MAAM,gBAAgB,GAAG,QAAoC,CAAC;AAErE,kGAAkG;AAClG,gGAAgG;AAChG,sCAAsC;AACtC,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,oBAAoB;IACpB,gBAAgB;CACsB,CAAC;AAGzC,iGAAiG;AACjG,6EAA6E;AAC7E,MAAM,UAAU,cAAc,CAAC,IAAc,EAAE,KAAe;IAC5D,OAAO,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AACtF,CAAC;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,QAAQ,CAAU,CAAC;AAG/D,mGAAmG;AACnG,wFAAwF;AACxF,MAAM,CAAC,MAAM,6BAA6B,GAAG,QAAgD,CAAC;AAE9F,8FAA8F;AAC9F,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,cAAc;IACd,QAAQ;IACR,aAAa;IACb,WAAW;IACX,UAAU;CACF,CAAC;AAGX,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAC;AAGvF,6EAA6E;AAC7E,MAAM,CAAC,MAAM,uBAAuB,GAAG,SAAyC,CAAC;AAEjF,yFAAyF;AACzF,MAAM,CAAC,MAAM,oBAAoB,GAAG,QAAwC,CAAC;AAE7E,gGAAgG;AAChG,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAA0C,CAAC;AACjF,MAAM,CAAC,MAAM,oBAAoB,GAAG,QAAwC,CAAC;AAE7E,gGAAgG;AAChG,qDAAqD;AACrD,MAAM,CAAC,MAAM,yBAAyB,GAA4D;IAChG,OAAO,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC;IAC/B,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC9B,MAAM,EAAE,CAAC,QAAQ,CAAC;IAClB,MAAM,EAAE,EAAE;CACX,CAAC;AAEF,8FAA8F;AAC9F,gFAAgF;AAChF,MAAM,CAAC,MAAM,uBAAuB,GAG9B,kBAAkB,CAAC,MAAM,CAC7B,CAAC,MAAM,EAAgE,EAAE,CACvE,MAAM,KAAK,oBAAoB,CAClC,CAAC;AAEF,gGAAgG;AAChG,qDAAqD;AACrD,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,sBAAsB;IACtB,oBAAoB;CACsB,CAAC;AAE7C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,0BAA0B,CAAU,CAAC;AAGjF,oGAAoG;AACpG,mCAAmC;AACnC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,aAAa,EAAE,cAAc,CAAU,CAAC;AAGvE,oDAAoD;AACpD,MAAM,CAAC,MAAM,sBAAsB,GAAG,0BAAwD,CAAC;AAE/F,oFAAoF;AACpF,MAAM,CAAC,MAAM,wBAAwB,GAAG,cAA0C,CAAC;AAEnF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,CAAU,CAAC;AAGlF,gGAAgG;AAChG,0FAA0F;AAC1F,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAyC,CAAC;AAE/E,mDAAmD;AACnD,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAyC,CAAC;AAE/E,kGAAkG;AAClG,QAAQ;AACR,MAAM,CAAC,MAAM,qBAAqB,GAAG,YAA0C,CAAC;AAEhF,sGAAsG;AACtG,qGAAqG;AACrG,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,SAAS;IACT,UAAU;IACV,UAAU;IACV,WAAW;CACH,CAAC;AAGX,MAAM,CAAC,MAAM,8BAA8B,GAAG,SAAiD,CAAC;AAChG,MAAM,CAAC,MAAM,+BAA+B,GAAG,UAAkD,CAAC;AAClG,MAAM,CAAC,MAAM,+BAA+B,GAAG,UAAkD,CAAC;AAClG,MAAM,CAAC,MAAM,gCAAgC,GAAG,WAAmD,CAAC;AAEpG,oGAAoG;AACpG,qGAAqG;AACrG,cAAc;AACd,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,SAAS;IACT,UAAU;IACV,UAAU;IACV,WAAW;CACH,CAAC;AAGX,MAAM,CAAC,MAAM,gCAAgC,GAAG,SAAkD,CAAC;AACnG,MAAM,CAAC,MAAM,iCAAiC,GAC5C,UAAmD,CAAC;AACtD,MAAM,CAAC,MAAM,iCAAiC,GAC5C,UAAmD,CAAC;AACtD,MAAM,CAAC,MAAM,kCAAkC,GAC7C,WAAoD,CAAC;AAEvD,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAU,CAAC;AAE7F,iGAAiG;AACjG,oBAAoB;AACpB,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,WAAW,EAAE,OAAO,CAAU,CAAC;AAG5E,mDAAmD;AACnD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,SAAS,EAAE,WAAW,CAAU,CAAC;AAG1E,gGAAgG;AAChG,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAU,CAAC;AAGjE,+FAA+F;AAC/F,uBAAuB;AACvB,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAU,CAAC;AAG1E,2EAA2E;AAC3E,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,SAAS,EAAE,UAAU,CAAU,CAAC;AAG9E,oGAAoG;AACpG,0DAA0D;AAC1D,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,YAAY,EAAE,oBAAoB,CAAU,CAAC;AAG1F,MAAM,CAAC,MAAM,qCAAqC,GAChD,SAAuD,CAAC;AAC1D,MAAM,CAAC,MAAM,oCAAoC,GAC/C,QAAsD,CAAC;AACzD,MAAM,CAAC,MAAM,sCAAsC,GACjD,UAAwD,CAAC;AAE3D,oGAAoG;AACpG,iGAAiG;AACjG,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAU,CAAC;AAGnF,iGAAiG;AACjG,gCAAgC;AAChC,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,UAAU;IACV,QAAQ;IACR,aAAa;IACb,SAAS;IACT,mBAAmB;IACnB,MAAM;CACE,CAAC;AAGX,qGAAqG;AACrG,oGAAoG;AACpG,MAAM,CAAC,MAAM,oCAAoC,GAAG;IAClD,UAAU;IACV,QAAQ;CACuC,CAAC;AAGlD,gGAAgG;AAChG,8EAA8E;AAC9E,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,WAAW;IACX,YAAY;CAC4B,CAAC;AAG3C,qGAAqG;AACrG,0BAA0B;AAC1B,MAAM,UAAU,gBAAgB,CAAC,MAAkB;IACjD,OAAQ,qBAA+C,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC3E,CAAC;AAED,kGAAkG;AAClG,4FAA4F;AAC5F,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAU,CAAC;AAE/F,MAAM,CAAC,MAAM,0BAA0B,GAAG,SAAuD,CAAC;AAClG,MAAM,CAAC,MAAM,6BAA6B,GACxC,YAA0D,CAAC;AAC7D,MAAM,CAAC,MAAM,yBAAyB,GAAG,QAAsD,CAAC;AAEhG,mGAAmG;AACnG,6CAA6C;AAC7C,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,CAAU,CAAC;AAGnG,oGAAoG;AACpG,mGAAmG;AACnG,mEAAmE;AACnE,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,eAAe,CAAU,CAAC;AAGtE,gGAAgG;AAChG,kGAAkG;AAClG,kGAAkG;AAClG,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,wBAAwB,CAAU,CAAC;AAGrF,uFAAuF;AACvF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,OAAO;IACP,SAAS;IACT,KAAK;IACL,QAAQ;IACR,oGAAoG;IACpG,UAAU;IACV,OAAO;IACP,eAAe;IACf,UAAU;IACV,WAAW;IACX,cAAc;IACd,MAAM;IACN,aAAa;IACb,WAAW;IACX,OAAO;IACP,UAAU;IACV,MAAM;IACN,KAAK;IACL,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,SAAS;IACT,MAAM;IACN,MAAM;IACN,QAAQ;IACR,OAAO;IACP,SAAS;IACT,SAAS;IACT,MAAM;IACN,oBAAoB;IACpB,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,WAAW;IACX,MAAM;IACN,UAAU;IACV,YAAY;IACZ,0BAA0B;IAC1B,KAAK;IACL,OAAO;IACP,eAAe;IACf,MAAM;IACN,MAAM;IACN,OAAO;IACP,UAAU;IACV,cAAc;IACd,UAAU;IACV,SAAS;IACT,MAAM;IACN,SAAS;IACT,gBAAgB;IAChB,UAAU;IACV,wBAAwB;IACxB,OAAO;IACP,KAAK;IACL,QAAQ;IACR,SAAS;IACT,YAAY;IACZ,QAAQ;IACR,WAAW;IACX,UAAU;IACV,KAAK;IACL,OAAO;IACP,QAAQ;IACR,MAAM;IACN,KAAK;IACL,OAAO;IACP,UAAU;IACV,SAAS;IACT,MAAM;IACN,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,mBAAmB;IACnB,OAAO;IACP,QAAQ;IACR,UAAU;IACV,OAAO;IACP,MAAM;IACN,OAAO;IACP,QAAQ;IACR,SAAS;IACT,UAAU;IACV,UAAU;IACV,UAAU;IACV,SAAS;IACT,OAAO;CACC,CAAC;AAGX,oGAAoG;AACpG,kDAAkD;AAClD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC;AAGhE,kGAAkG;AAClG,0EAA0E;AAC1E,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,0FAA0F;IAC1F,gBAAgB;IAChB,cAAc;IACd,uBAAuB;IACvB,oFAAoF;IACpF,kBAAkB;IAClB,gBAAgB;IAChB,qBAAqB;IACrB,oBAAoB;IACpB,oBAAoB;IACpB,oBAAoB;IACpB,qBAAqB;IACrB,+BAA+B;IAC/B,UAAU;CACF,CAAC;AACX,MAAM,CAAC,MAAM,oCAAoC,GAAG;IAClD,mBAAmB;IACnB,qBAAqB;IACrB,uBAAuB;IACvB,4BAA4B;CACpB,CAAC;AACX,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,GAAG,+BAA+B;IAClC,GAAG,oCAAoC;CAC/B,CAAC","sourcesContent":["// Canonical unions (RULE-STD-ARCH-102): an `as const` key array with the type derived from it. Zod enums,\n// type positions, query filters, and option lists all derive from these arrays — never a quoted\n// member.\n\n// The two global roles. Each is a roster on `_systemData/adminList` and a boolean custom claim of\n// the same name; the roster is the authority, the claim a fast hint.\nexport const SYSTEM_ROLE_KEYS = ['admin', 'referee'] as const;\nexport type SystemRole = (typeof SYSTEM_ROLE_KEYS)[number];\n\n// Account status on the private profile. Only an exact `active` passes the server auth assertion.\nexport const USER_STATUS_KEYS = ['active', 'banned'] as const;\nexport type UserStatus = (typeof USER_STATUS_KEYS)[number];\n/** The one status that lets an account act. */\nexport const ACTIVE_USER_STATUS = 'active' satisfies UserStatus;\n/** The status an admin's ban sets: the account keeps its data and cannot sign in. */\nexport const BANNED_USER_STATUS = 'banned' satisfies UserStatus;\n\n// Which post-commit Auth effect queued an account on `statusReconcileQueue/{userId}`:\n// `accountStatus` — a status change's disabled flag, status claim, and token revocation, queued in\n// the status transaction itself; `roleClaims` — the `admin` / `referee` claims after a failed roster\n// claim write.\nexport const STATUS_RECONCILE_QUEUE_AUTH_EFFECTS = ['accountStatus', 'roleClaims'] as const;\nexport type StatusReconcileQueueAuthEffect = (typeof STATUS_RECONCILE_QUEUE_AUTH_EFFECTS)[number];\nexport const ACCOUNT_STATUS_AUTH_EFFECT =\n 'accountStatus' as const satisfies StatusReconcileQueueAuthEffect;\nexport const ROLE_CLAIMS_EFFECT = 'roleClaims' as const satisfies StatusReconcileQueueAuthEffect;\n\nexport const TEAM_ROLE_KEYS = ['captain', 'coCaptain', 'player'] as const;\nexport type TeamRole = (typeof TEAM_ROLE_KEYS)[number];\n\n// The roles that carry captain authority. `firestore.rules` restates this list, because a rules file\n// cannot import it.\nexport const CAPTAIN_TEAM_ROLES = ['captain', 'coCaptain'] as const satisfies readonly TeamRole[];\n\n// The one role a team holds at most one of: team creation, the admin captain change, and ghost\n// linking write it, and nothing else does.\nexport const TEAM_CAPTAIN_ROLE = 'captain' as const satisfies TeamRole;\n\n// The two roles below the captain. A co-captain holds every captain power except managing\n// co-captains; a player holds none.\nexport const TEAM_CO_CAPTAIN_ROLE = 'coCaptain' as const satisfies TeamRole;\nexport const TEAM_PLAYER_ROLE = 'player' as const satisfies TeamRole;\n\n// The roles a member's role change moves a membership between — promoting a player to co-captain,\n// or demoting a co-captain to player. The captain's role moves only through the admin's captain\n// change, so it is never one of them.\nexport const MEMBER_ASSIGNABLE_TEAM_ROLES = [\n TEAM_CO_CAPTAIN_ROLE,\n TEAM_PLAYER_ROLE,\n] as const satisfies readonly TeamRole[];\nexport type MemberAssignableTeamRole = (typeof MEMBER_ASSIGNABLE_TEAM_ROLES)[number];\n\n// A ghost link that merges a ghost's membership into the account's keeps one membership with the\n// higher of the two roles: `TEAM_ROLE_KEYS` runs from the highest role down.\nexport function higherTeamRole(left: TeamRole, right: TeamRole): TeamRole {\n return TEAM_ROLE_KEYS.indexOf(left) <= TEAM_ROLE_KEYS.indexOf(right) ? left : right;\n}\n\nexport const TEAM_MEMBERSHIP_STATUS_KEYS = ['active'] as const;\nexport type TeamMembershipStatus = (typeof TEAM_MEMBERSHIP_STATUS_KEYS)[number];\n\n// The status a membership grants authority in. Every membership-based check reads it with the role\n// (RULE-QS-BACKEND-901), so a status added later grants nothing until a check names it.\nexport const ACTIVE_TEAM_MEMBERSHIP_STATUS = 'active' as const satisfies TeamMembershipStatus;\n\n// How a membership came to exist; absent on a membership whose provenance was never recorded.\nexport const TEAM_JOIN_METHOD_KEYS = [\n 'teamCreation',\n 'invite',\n 'joinRequest',\n 'freeAgent',\n 'ghostAdd',\n] as const;\nexport type TeamJoinMethod = (typeof TEAM_JOIN_METHOD_KEYS)[number];\n\nexport const LEAGUE_STATUS_KEYS = ['pending', 'upcoming', 'active', 'closed'] as const;\nexport type LeagueStatus = (typeof LEAGUE_STATUS_KEYS)[number];\n\n// Every league is created unpublished; the admin moves it forward from here.\nexport const LEAGUE_STATUS_ON_CREATE = 'pending' as const satisfies LeagueStatus;\n\n// A finished season. Its settings stay editable; its status and mode never change again.\nexport const CLOSED_LEAGUE_STATUS = 'closed' as const satisfies LeagueStatus;\n\n// The two published statuses before a league closes: its teams are forming, then it is in play.\nexport const UPCOMING_LEAGUE_STATUS = 'upcoming' as const satisfies LeagueStatus;\nexport const ACTIVE_LEAGUE_STATUS = 'active' as const satisfies LeagueStatus;\n\n// The statuses a league may move to from each status. Movement is forward only, and `closed` is\n// final; the status callable refuses any other move.\nexport const LEAGUE_STATUS_TRANSITIONS: Readonly<Record<LeagueStatus, readonly LeagueStatus[]>> = {\n pending: ['upcoming', 'closed'],\n upcoming: ['active', 'closed'],\n active: ['closed'],\n closed: [],\n};\n\n// Every status but closed: a league still being set up, published, or played. Whatever such a\n// league is configured with — its waiver template among them — is still in use.\nexport const OPEN_LEAGUE_STATUS_KEYS: readonly Exclude<\n LeagueStatus,\n typeof CLOSED_LEAGUE_STATUS\n>[] = LEAGUE_STATUS_KEYS.filter(\n (status): status is Exclude<LeagueStatus, typeof CLOSED_LEAGUE_STATUS> =>\n status !== CLOSED_LEAGUE_STATUS,\n);\n\n// A league players are part of now or next: published and not yet closed. The admin dashboard's\n// active free-agent count covers only these leagues.\nexport const CURRENT_LEAGUE_STATUS_KEYS = [\n UPCOMING_LEAGUE_STATUS,\n ACTIVE_LEAGUE_STATUS,\n] as const satisfies readonly LeagueStatus[];\n\nexport const LEAGUE_MODE_KEYS = ['Regular', 'Competitive/Recreational'] as const;\nexport type LeagueMode = (typeof LEAGUE_MODE_KEYS)[number];\n\n// Present only on teams in a Competitive/Recreational league. In any other mode a team has no type:\n// the field is absent, never null.\nexport const TEAM_TYPE_KEYS = ['Competitive', 'Recreational'] as const;\nexport type TeamType = (typeof TEAM_TYPE_KEYS)[number];\n\n// The one mode whose teams each carry a `teamType`.\nexport const TEAM_TYPED_LEAGUE_MODE = 'Competitive/Recreational' as const satisfies LeagueMode;\n\n// The type every team takes when its league switches into `TEAM_TYPED_LEAGUE_MODE`.\nexport const TEAM_TYPE_ON_MODE_SWITCH = 'Recreational' as const satisfies TeamType;\n\nexport const GAME_STATUS_KEYS = ['scheduled', 'inprogress', 'completed'] as const;\nexport type GameStatus = (typeof GAME_STATUS_KEYS)[number];\n\n// The one status a finished game holds: it was played, and its stats count. Every reader asking\n// whether a game was played compares against this rather than naming a status of its own.\nexport const COMPLETED_GAME_STATUS = 'completed' as const satisfies GameStatus;\n\n// The status a newly scheduled game is created in.\nexport const GAME_STATUS_ON_CREATE = 'scheduled' as const satisfies GameStatus;\n\n// The status reopen returns a finalized game to: open for scoring again, its record of who played\n// kept.\nexport const GAME_STATUS_ON_REOPEN = 'inprogress' as const satisfies GameStatus;\n\n// An invitation is pending until the invitee accepts (`approved`) or declines (`rejected`) it, or the\n// team withdraws it (`cancelled`). A membership on its team made any other way closes it `approved`.\nexport const TEAM_INVITATION_STATUS_KEYS = [\n 'pending',\n 'approved',\n 'rejected',\n 'cancelled',\n] as const;\nexport type TeamInvitationStatus = (typeof TEAM_INVITATION_STATUS_KEYS)[number];\n\nexport const PENDING_TEAM_INVITATION_STATUS = 'pending' as const satisfies TeamInvitationStatus;\nexport const APPROVED_TEAM_INVITATION_STATUS = 'approved' as const satisfies TeamInvitationStatus;\nexport const REJECTED_TEAM_INVITATION_STATUS = 'rejected' as const satisfies TeamInvitationStatus;\nexport const CANCELLED_TEAM_INVITATION_STATUS = 'cancelled' as const satisfies TeamInvitationStatus;\n\n// A join request is pending until the team's leaders accept (`approved`) or reject (`rejected`) it,\n// or the requester withdraws it (`cancelled`). A membership on its team made any other way closes it\n// `approved`.\nexport const TEAM_JOIN_REQUEST_STATUS_KEYS = [\n 'pending',\n 'approved',\n 'rejected',\n 'cancelled',\n] as const;\nexport type TeamJoinRequestStatus = (typeof TEAM_JOIN_REQUEST_STATUS_KEYS)[number];\n\nexport const PENDING_TEAM_JOIN_REQUEST_STATUS = 'pending' as const satisfies TeamJoinRequestStatus;\nexport const APPROVED_TEAM_JOIN_REQUEST_STATUS =\n 'approved' as const satisfies TeamJoinRequestStatus;\nexport const REJECTED_TEAM_JOIN_REQUEST_STATUS =\n 'rejected' as const satisfies TeamJoinRequestStatus;\nexport const CANCELLED_TEAM_JOIN_REQUEST_STATUS =\n 'cancelled' as const satisfies TeamJoinRequestStatus;\n\nexport const HARDWARE_LOAN_CONTRACT_STATUS_KEYS = ['pending', 'loaned', 'returned'] as const;\nexport type HardwareLoanContractStatus = (typeof HARDWARE_LOAN_CONTRACT_STATUS_KEYS)[number];\n// Why an award grant passed over an account it named: it has no profile, or it is a ghost, which\n// holds no account.\nexport const AWARD_GRANT_SKIP_REASON_KEYS = ['noProfile', 'ghost'] as const;\nexport type AwardGrantSkipReason = (typeof AWARD_GRANT_SKIP_REASON_KEYS)[number];\n\n// The two badges an account shows beside its name.\nexport const FEATURED_AWARD_SLOT_KEYS = ['primary', 'secondary'] as const;\nexport type FeaturedAwardSlot = (typeof FEATURED_AWARD_SLOT_KEYS)[number];\n\n// The groups an award is granted to all at once: every active member of a team, or of a league.\nexport const AWARD_GROUP_TYPE_KEYS = ['team', 'league'] as const;\nexport type AwardGroupType = (typeof AWARD_GROUP_TYPE_KEYS)[number];\n\n// A decision on one award for one group: grant it to the group's people, or take back what the\n// group's grants gave.\nexport const AWARD_GROUP_GRANT_ACTION_KEYS = ['grant', 'revoke'] as const;\nexport type AwardGroupGrantAction = (typeof AWARD_GROUP_GRANT_ACTION_KEYS)[number];\n\n// A decision is `pending` until every page of it is done, then `complete`.\nexport const AWARD_GROUP_GRANT_STATUS_KEYS = ['pending', 'complete'] as const;\nexport type AwardGroupGrantStatus = (typeof AWARD_GROUP_GRANT_STATUS_KEYS)[number];\n\n// Why taking a group's award back left one person holding it: they held it before the grant reached\n// them, or another group's grant still holds it for them.\nexport const AWARD_GROUP_REVOKE_SKIP_KEYS = ['heldBefore', 'heldByAnotherGrant'] as const;\nexport type AwardGroupRevokeSkip = (typeof AWARD_GROUP_REVOKE_SKIP_KEYS)[number];\n\nexport const PENDING_HARDWARE_LOAN_CONTRACT_STATUS =\n 'pending' as const satisfies HardwareLoanContractStatus;\nexport const LOANED_HARDWARE_LOAN_CONTRACT_STATUS =\n 'loaned' as const satisfies HardwareLoanContractStatus;\nexport const RETURNED_HARDWARE_LOAN_CONTRACT_STATUS =\n 'returned' as const satisfies HardwareLoanContractStatus;\n\n// What deleting a waiver template did. A template nothing names is deleted with its versions; one a\n// signature or a closed league still names is retired — kept for them, offered to no new league.\nexport const WAIVER_TEMPLATE_DELETE_OUTCOME_KEYS = ['deleted', 'retired'] as const;\nexport type WaiverTemplateDeleteOutcome = (typeof WAIVER_TEMPLATE_DELETE_OUTCOME_KEYS)[number];\n\n// What last changed the stats, as announced on the stats beacon; `link` is a ghost link moving a\n// game's lines onto an account.\nexport const STATS_BEACON_ACTION_KEYS = [\n 'finalize',\n 'reopen',\n 'recalculate',\n 'correct',\n 'historical-update',\n 'link',\n] as const;\nexport type StatsBeaconAction = (typeof STATS_BEACON_ACTION_KEYS)[number];\n\n// The actions that describe one game, so a beacon announcing one names the game, its league, and its\n// teams; every other action names no game, and a game id left beside it would point at a stale one.\nexport const GAME_SCOPED_STATS_BEACON_ACTION_KEYS = [\n 'finalize',\n 'reopen',\n] as const satisfies readonly StatsBeaconAction[];\nexport type GameScopedStatsBeaconAction = (typeof GAME_SCOPED_STATS_BEACON_ACTION_KEYS)[number];\n\n// The statuses a game's roster still follows its teams' memberships in: listed explicitly, so a\n// status added later is closed until it is named here, never open by default.\nexport const OPEN_GAME_STATUS_KEYS = [\n 'scheduled',\n 'inprogress',\n] as const satisfies readonly GameStatus[];\nexport type OpenGameStatus = (typeof OPEN_GAME_STATUS_KEYS)[number];\n\n// Whether a game is still open — not yet finalized — so a scorer may still change it. Both app roots\n// ask this one predicate.\nexport function isOpenGameStatus(status: GameStatus): status is OpenGameStatus {\n return (OPEN_GAME_STATUS_KEYS as readonly GameStatus[]).includes(status);\n}\n\n// Where one membership's roster obligation stands. `pending` waits for the reconciliation worker;\n// `failed` has spent its retries and waits for an admin's retry; `reconciled` owes nothing.\nexport const MEMBERSHIP_ROSTER_SYNC_STATUS_KEYS = ['pending', 'reconciled', 'failed'] as const;\nexport type MembershipRosterSyncStatus = (typeof MEMBERSHIP_ROSTER_SYNC_STATUS_KEYS)[number];\nexport const PENDING_ROSTER_SYNC_STATUS = 'pending' as const satisfies MembershipRosterSyncStatus;\nexport const RECONCILED_ROSTER_SYNC_STATUS =\n 'reconciled' as const satisfies MembershipRosterSyncStatus;\nexport const FAILED_ROSTER_SYNC_STATUS = 'failed' as const satisfies MembershipRosterSyncStatus;\n\n// The authority a ghost's waiver was signed under: the witness's captaincy on the ghost's team, or\n// the global role the admin entry confirmed.\nexport const WAIVER_WITNESS_AUTHORITY_KEYS = ['captain', 'coCaptain', 'admin', 'referee'] as const;\nexport type WaiverWitnessAuthority = (typeof WAIVER_WITNESS_AUTHORITY_KEYS)[number];\n\n// Why a signing was refused, named in its details so the signing dialog answers it: `waiverChanged`\n// when the wording the signer saw — the template id and version the dialog sent — is no longer the\n// league's, so the dialog loads the current wording to read again.\nexport const WAIVER_SIGNING_REFUSAL_KEYS = ['waiverChanged'] as const;\nexport type WaiverSigningRefusal = (typeof WAIVER_SIGNING_REFUSAL_KEYS)[number];\n\n// Why a waiver-template publication was refused, named in its details so the editor answers it:\n// `templateVersionChanged` when the version the editor loaded is no longer the template's current\n// one, so the editor keeps the admin's draft and shows the newer wording before publishing again.\nexport const WAIVER_TEMPLATE_EDIT_REFUSAL_KEYS = ['templateVersionChanged'] as const;\nexport type WaiverTemplateEditRefusal = (typeof WAIVER_TEMPLATE_EDIT_REFUSAL_KEYS)[number];\n\n// The icon a team picks at creation; the persisted value is the icon component's name.\nexport const TEAM_ICON_KEYS = [\n 'Shield',\n 'Swords',\n 'Skull',\n 'Ghost',\n 'Cat',\n 'Dog',\n 'Bird',\n 'Fish',\n 'Rabbit',\n 'Snail',\n 'Turtle',\n 'Cherry',\n 'Apple',\n 'Grape',\n 'Rocket',\n 'Plane',\n 'Ship',\n 'Train',\n 'Car',\n 'Bike',\n 'Bolt',\n 'Star',\n 'Sun',\n 'Moon',\n 'Cloud',\n 'Crown',\n 'Diamond',\n 'Gem',\n 'Anchor',\n // Appended — the set only grows, and no stored key is ever renamed or removed. Seasonal and events.\n 'TreePine',\n 'Trees',\n 'TreeDeciduous',\n 'TreePalm',\n 'Snowflake',\n 'MountainSnow',\n 'Gift',\n 'PartyPopper',\n 'CandyCane',\n 'Candy',\n 'Lollipop',\n 'Cake',\n 'Egg',\n 'Clover',\n 'Heart',\n 'Flower',\n 'Flower2',\n 'Rose',\n 'Leaf',\n 'Sprout',\n 'Wheat',\n 'Sunrise',\n 'Rainbow',\n 'Bell',\n // Awards and sport.\n 'Trophy',\n 'Medal',\n 'Award',\n 'Ribbon',\n 'Flag',\n 'Target',\n 'Crosshair',\n 'Goal',\n 'Dumbbell',\n 'Footprints',\n // Power and the elements.\n 'Zap',\n 'Flame',\n 'FlameKindling',\n 'Bomb',\n 'Atom',\n 'Orbit',\n 'Sparkles',\n 'WandSparkles',\n 'Mountain',\n 'Tornado',\n 'Wind',\n 'Droplet',\n 'CloudLightning',\n 'MoonStar',\n // Arms and strongholds.\n 'Sword',\n 'Axe',\n 'Hammer',\n 'Pickaxe',\n 'ShieldHalf',\n 'Castle',\n // Animals.\n 'Squirrel',\n 'Rat',\n 'Panda',\n 'Shrimp',\n 'Worm',\n 'Bug',\n 'Shell',\n 'PawPrint',\n 'Feather',\n 'Bone',\n 'Origami',\n // Food.\n 'Citrus',\n 'Banana',\n 'Carrot',\n 'Pizza',\n 'Cookie',\n 'Donut',\n 'Coffee',\n // Games and music.\n 'Dices',\n 'Puzzle',\n 'Gamepad2',\n 'Spade',\n 'Club',\n 'Music',\n 'Guitar',\n 'Hexagon',\n 'Triangle',\n // Travel.\n 'Sailboat',\n 'Tractor',\n 'Truck',\n] as const;\nexport type TeamIcon = (typeof TEAM_ICON_KEYS)[number];\n\n// A picture's processed sizes, smallest first: every picture kind declares all three, and a display\n// asks for the smallest one that covers its slot.\nexport const PICTURE_VARIANT_KEYS = ['sm', 'md', 'lg'] as const;\nexport type PictureVariantKey = (typeof PICTURE_VARIANT_KEYS)[number];\n\n// What a stats check found, game tier first — a game's own numbers are the cause of the aggregate\n// findings, so Fix stats repairs games before it rebuilds what they feed.\nexport const GAME_TIER_DISCREPANCY_KIND_KEYS = [\n // A game whose document the check could not read: nothing else about it could be checked.\n 'gameUnreadable',\n 'invalidEvent',\n 'eventSequenceMismatch',\n // A game whose events do not hold exactly the sequences 1..n: a gap or a duplicate.\n 'eventSequenceGap',\n 'rollupMismatch',\n 'scoreMirrorMismatch',\n 'unrosteredStatLine',\n 'fantasyPointsStale',\n 'finalRecordMissing',\n 'finalRecordMismatch',\n 'participationSnapshotMismatch',\n 'gameHeld',\n] as const;\nexport const AGGREGATE_TIER_DISCREPANCY_KIND_KEYS = [\n 'aggregateMismatch',\n 'aggregateEntryStale',\n 'aggregateEntryMissing',\n 'hallOfFameLifetimeMismatch',\n] as const;\nexport const STATS_DISCREPANCY_KIND_KEYS = [\n ...GAME_TIER_DISCREPANCY_KIND_KEYS,\n ...AGGREGATE_TIER_DISCREPANCY_KIND_KEYS,\n] as const;\nexport type StatsDiscrepancyKind = (typeof STATS_DISCREPANCY_KIND_KEYS)[number];\n"]}
|
|
1
|
+
{"version":3,"file":"unions.js","sourceRoot":"","sources":["../../src/types/unions.ts"],"names":[],"mappings":"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","sourcesContent":["export const SYSTEM_ROLE_KEYS = ['admin', 'referee'] as const;\nexport type SystemRole = (typeof SYSTEM_ROLE_KEYS)[number];\n\nexport const USER_STATUS_KEYS = ['active', 'banned'] as const;\nexport type UserStatus = (typeof USER_STATUS_KEYS)[number];\nexport const ACTIVE_USER_STATUS = 'active' satisfies UserStatus;\nexport const BANNED_USER_STATUS = 'banned' satisfies UserStatus;\n\nexport const STATUS_RECONCILE_QUEUE_AUTH_EFFECTS = ['accountStatus', 'roleClaims'] as const;\nexport type StatusReconcileQueueAuthEffect = (typeof STATUS_RECONCILE_QUEUE_AUTH_EFFECTS)[number];\nexport const ACCOUNT_STATUS_AUTH_EFFECT =\n 'accountStatus' as const satisfies StatusReconcileQueueAuthEffect;\nexport const ROLE_CLAIMS_EFFECT = 'roleClaims' as const satisfies StatusReconcileQueueAuthEffect;\n\nexport const TEAM_ROLE_KEYS = ['captain', 'coCaptain', 'player'] as const;\nexport type TeamRole = (typeof TEAM_ROLE_KEYS)[number];\n\n// The roles that carry captain authority. `firestore.rules` restates this list, because a rules file\n// cannot import it.\nexport const CAPTAIN_TEAM_ROLES = ['captain', 'coCaptain'] as const satisfies readonly TeamRole[];\n\nexport const TEAM_CAPTAIN_ROLE = 'captain' as const satisfies TeamRole;\n\nexport const TEAM_CO_CAPTAIN_ROLE = 'coCaptain' as const satisfies TeamRole;\nexport const TEAM_PLAYER_ROLE = 'player' as const satisfies TeamRole;\n\nexport const MEMBER_ASSIGNABLE_TEAM_ROLES = [\n TEAM_CO_CAPTAIN_ROLE,\n TEAM_PLAYER_ROLE,\n] as const satisfies readonly TeamRole[];\nexport type MemberAssignableTeamRole = (typeof MEMBER_ASSIGNABLE_TEAM_ROLES)[number];\n\n// `TEAM_ROLE_KEYS` runs from the highest role down.\nexport function higherTeamRole(left: TeamRole, right: TeamRole): TeamRole {\n return TEAM_ROLE_KEYS.indexOf(left) <= TEAM_ROLE_KEYS.indexOf(right) ? left : right;\n}\n\nexport const TEAM_MEMBERSHIP_STATUS_KEYS = ['active'] as const;\nexport type TeamMembershipStatus = (typeof TEAM_MEMBERSHIP_STATUS_KEYS)[number];\n\nexport const ACTIVE_TEAM_MEMBERSHIP_STATUS = 'active' as const satisfies TeamMembershipStatus;\n\nexport const TEAM_JOIN_METHOD_KEYS = [\n 'teamCreation',\n 'invite',\n 'joinRequest',\n 'freeAgent',\n 'ghostAdd',\n] as const;\nexport type TeamJoinMethod = (typeof TEAM_JOIN_METHOD_KEYS)[number];\n\nexport const LEAGUE_STATUS_KEYS = ['pending', 'upcoming', 'active', 'closed'] as const;\nexport type LeagueStatus = (typeof LEAGUE_STATUS_KEYS)[number];\n\nexport const LEAGUE_STATUS_ON_CREATE = 'pending' as const satisfies LeagueStatus;\n\nexport const CLOSED_LEAGUE_STATUS = 'closed' as const satisfies LeagueStatus;\n\nexport const UPCOMING_LEAGUE_STATUS = 'upcoming' as const satisfies LeagueStatus;\nexport const ACTIVE_LEAGUE_STATUS = 'active' as const satisfies LeagueStatus;\n\nexport const LEAGUE_STATUS_TRANSITIONS: Readonly<Record<LeagueStatus, readonly LeagueStatus[]>> = {\n pending: ['upcoming', 'closed'],\n upcoming: ['active', 'closed'],\n active: ['closed'],\n closed: [],\n};\n\nexport const OPEN_LEAGUE_STATUS_KEYS: readonly Exclude<\n LeagueStatus,\n typeof CLOSED_LEAGUE_STATUS\n>[] = LEAGUE_STATUS_KEYS.filter(\n (status): status is Exclude<LeagueStatus, typeof CLOSED_LEAGUE_STATUS> =>\n status !== CLOSED_LEAGUE_STATUS,\n);\n\nexport const CURRENT_LEAGUE_STATUS_KEYS = [\n UPCOMING_LEAGUE_STATUS,\n ACTIVE_LEAGUE_STATUS,\n] as const satisfies readonly LeagueStatus[];\n\nexport const LEAGUE_MODE_KEYS = ['Regular', 'Competitive/Recreational'] as const;\nexport type LeagueMode = (typeof LEAGUE_MODE_KEYS)[number];\n\nexport const TEAM_TYPE_KEYS = ['Competitive', 'Recreational'] as const;\nexport type TeamType = (typeof TEAM_TYPE_KEYS)[number];\n\nexport const TEAM_TYPED_LEAGUE_MODE = 'Competitive/Recreational' as const satisfies LeagueMode;\n\nexport const TEAM_TYPE_ON_MODE_SWITCH = 'Recreational' as const satisfies TeamType;\n\nexport const GAME_STATUS_KEYS = ['scheduled', 'inprogress', 'completed'] as const;\nexport type GameStatus = (typeof GAME_STATUS_KEYS)[number];\n\nexport const COMPLETED_GAME_STATUS = 'completed' as const satisfies GameStatus;\n\nexport const GAME_STATUS_ON_CREATE = 'scheduled' as const satisfies GameStatus;\n\nexport const GAME_STATUS_ON_REOPEN = 'inprogress' as const satisfies GameStatus;\n\nexport const TEAM_INVITATION_STATUS_KEYS = [\n 'pending',\n 'approved',\n 'rejected',\n 'cancelled',\n] as const;\nexport type TeamInvitationStatus = (typeof TEAM_INVITATION_STATUS_KEYS)[number];\n\nexport const PENDING_TEAM_INVITATION_STATUS = 'pending' as const satisfies TeamInvitationStatus;\nexport const APPROVED_TEAM_INVITATION_STATUS = 'approved' as const satisfies TeamInvitationStatus;\nexport const REJECTED_TEAM_INVITATION_STATUS = 'rejected' as const satisfies TeamInvitationStatus;\nexport const CANCELLED_TEAM_INVITATION_STATUS = 'cancelled' as const satisfies TeamInvitationStatus;\n\nexport const TEAM_JOIN_REQUEST_STATUS_KEYS = [\n 'pending',\n 'approved',\n 'rejected',\n 'cancelled',\n] as const;\nexport type TeamJoinRequestStatus = (typeof TEAM_JOIN_REQUEST_STATUS_KEYS)[number];\n\nexport const PENDING_TEAM_JOIN_REQUEST_STATUS = 'pending' as const satisfies TeamJoinRequestStatus;\nexport const APPROVED_TEAM_JOIN_REQUEST_STATUS =\n 'approved' as const satisfies TeamJoinRequestStatus;\nexport const REJECTED_TEAM_JOIN_REQUEST_STATUS =\n 'rejected' as const satisfies TeamJoinRequestStatus;\nexport const CANCELLED_TEAM_JOIN_REQUEST_STATUS =\n 'cancelled' as const satisfies TeamJoinRequestStatus;\n\nexport const HARDWARE_LOAN_CONTRACT_STATUS_KEYS = ['pending', 'loaned', 'returned'] as const;\nexport type HardwareLoanContractStatus = (typeof HARDWARE_LOAN_CONTRACT_STATUS_KEYS)[number];\nexport const AWARD_GRANT_SKIP_REASON_KEYS = ['noProfile', 'ghost'] as const;\nexport type AwardGrantSkipReason = (typeof AWARD_GRANT_SKIP_REASON_KEYS)[number];\n\nexport const FEATURED_AWARD_SLOT_KEYS = ['primary', 'secondary'] as const;\nexport type FeaturedAwardSlot = (typeof FEATURED_AWARD_SLOT_KEYS)[number];\n\nexport const AWARD_GROUP_TYPE_KEYS = ['team', 'league'] as const;\nexport type AwardGroupType = (typeof AWARD_GROUP_TYPE_KEYS)[number];\n\nexport const AWARD_GROUP_GRANT_ACTION_KEYS = ['grant', 'revoke'] as const;\nexport type AwardGroupGrantAction = (typeof AWARD_GROUP_GRANT_ACTION_KEYS)[number];\n\nexport const AWARD_GROUP_GRANT_STATUS_KEYS = ['pending', 'complete'] as const;\nexport type AwardGroupGrantStatus = (typeof AWARD_GROUP_GRANT_STATUS_KEYS)[number];\n\nexport const AWARD_GROUP_REVOKE_SKIP_KEYS = ['heldBefore', 'heldByAnotherGrant'] as const;\nexport type AwardGroupRevokeSkip = (typeof AWARD_GROUP_REVOKE_SKIP_KEYS)[number];\n\nexport const PENDING_HARDWARE_LOAN_CONTRACT_STATUS =\n 'pending' as const satisfies HardwareLoanContractStatus;\nexport const LOANED_HARDWARE_LOAN_CONTRACT_STATUS =\n 'loaned' as const satisfies HardwareLoanContractStatus;\nexport const RETURNED_HARDWARE_LOAN_CONTRACT_STATUS =\n 'returned' as const satisfies HardwareLoanContractStatus;\n\nexport const WAIVER_TEMPLATE_DELETE_OUTCOME_KEYS = ['deleted', 'retired'] as const;\nexport type WaiverTemplateDeleteOutcome = (typeof WAIVER_TEMPLATE_DELETE_OUTCOME_KEYS)[number];\n\nexport const STATS_BEACON_ACTION_KEYS = [\n 'finalize',\n 'reopen',\n 'recalculate',\n 'correct',\n 'historical-update',\n 'link',\n] as const;\nexport type StatsBeaconAction = (typeof STATS_BEACON_ACTION_KEYS)[number];\n\nexport const GAME_SCOPED_STATS_BEACON_ACTION_KEYS = [\n 'finalize',\n 'reopen',\n] as const satisfies readonly StatsBeaconAction[];\nexport type GameScopedStatsBeaconAction = (typeof GAME_SCOPED_STATS_BEACON_ACTION_KEYS)[number];\n\n// Listed explicitly, so a status added later is closed until it is named here, never open by default.\nexport const OPEN_GAME_STATUS_KEYS = [\n 'scheduled',\n 'inprogress',\n] as const satisfies readonly GameStatus[];\nexport type OpenGameStatus = (typeof OPEN_GAME_STATUS_KEYS)[number];\n\nexport function isOpenGameStatus(status: GameStatus): status is OpenGameStatus {\n return (OPEN_GAME_STATUS_KEYS as readonly GameStatus[]).includes(status);\n}\n\nexport const MEMBERSHIP_ROSTER_SYNC_STATUS_KEYS = ['pending', 'reconciled', 'failed'] as const;\nexport type MembershipRosterSyncStatus = (typeof MEMBERSHIP_ROSTER_SYNC_STATUS_KEYS)[number];\nexport const PENDING_ROSTER_SYNC_STATUS = 'pending' as const satisfies MembershipRosterSyncStatus;\nexport const RECONCILED_ROSTER_SYNC_STATUS =\n 'reconciled' as const satisfies MembershipRosterSyncStatus;\nexport const FAILED_ROSTER_SYNC_STATUS = 'failed' as const satisfies MembershipRosterSyncStatus;\n\nexport const WAIVER_WITNESS_AUTHORITY_KEYS = ['captain', 'coCaptain', 'admin', 'referee'] as const;\nexport type WaiverWitnessAuthority = (typeof WAIVER_WITNESS_AUTHORITY_KEYS)[number];\n\nexport const WAIVER_SIGNING_REFUSAL_KEYS = ['waiverChanged'] as const;\nexport type WaiverSigningRefusal = (typeof WAIVER_SIGNING_REFUSAL_KEYS)[number];\n\nexport const WAIVER_TEMPLATE_EDIT_REFUSAL_KEYS = ['templateVersionChanged'] as const;\nexport type WaiverTemplateEditRefusal = (typeof WAIVER_TEMPLATE_EDIT_REFUSAL_KEYS)[number];\n\nexport const TEAM_ICON_KEYS = [\n 'Shield',\n 'Swords',\n 'Skull',\n 'Ghost',\n 'Cat',\n 'Dog',\n 'Bird',\n 'Fish',\n 'Rabbit',\n 'Snail',\n 'Turtle',\n 'Cherry',\n 'Apple',\n 'Grape',\n 'Rocket',\n 'Plane',\n 'Ship',\n 'Train',\n 'Car',\n 'Bike',\n 'Bolt',\n 'Star',\n 'Sun',\n 'Moon',\n 'Cloud',\n 'Crown',\n 'Diamond',\n 'Gem',\n 'Anchor',\n // Appended — the set only grows, and no stored key is ever renamed or removed.\n 'TreePine',\n 'Trees',\n 'TreeDeciduous',\n 'TreePalm',\n 'Snowflake',\n 'MountainSnow',\n 'Gift',\n 'PartyPopper',\n 'CandyCane',\n 'Candy',\n 'Lollipop',\n 'Cake',\n 'Egg',\n 'Clover',\n 'Heart',\n 'Flower',\n 'Flower2',\n 'Rose',\n 'Leaf',\n 'Sprout',\n 'Wheat',\n 'Sunrise',\n 'Rainbow',\n 'Bell',\n 'Trophy',\n 'Medal',\n 'Award',\n 'Ribbon',\n 'Flag',\n 'Target',\n 'Crosshair',\n 'Goal',\n 'Dumbbell',\n 'Footprints',\n 'Zap',\n 'Flame',\n 'FlameKindling',\n 'Bomb',\n 'Atom',\n 'Orbit',\n 'Sparkles',\n 'WandSparkles',\n 'Mountain',\n 'Tornado',\n 'Wind',\n 'Droplet',\n 'CloudLightning',\n 'MoonStar',\n 'Sword',\n 'Axe',\n 'Hammer',\n 'Pickaxe',\n 'ShieldHalf',\n 'Castle',\n 'Squirrel',\n 'Rat',\n 'Panda',\n 'Shrimp',\n 'Worm',\n 'Bug',\n 'Shell',\n 'PawPrint',\n 'Feather',\n 'Bone',\n 'Origami',\n 'Citrus',\n 'Banana',\n 'Carrot',\n 'Pizza',\n 'Cookie',\n 'Donut',\n 'Coffee',\n 'Dices',\n 'Puzzle',\n 'Gamepad2',\n 'Spade',\n 'Club',\n 'Music',\n 'Guitar',\n 'Hexagon',\n 'Triangle',\n 'Sailboat',\n 'Tractor',\n 'Truck',\n] as const;\nexport type TeamIcon = (typeof TEAM_ICON_KEYS)[number];\n\nexport const PICTURE_VARIANT_KEYS = ['sm', 'md', 'lg'] as const;\nexport type PictureVariantKey = (typeof PICTURE_VARIANT_KEYS)[number];\n\nexport const GAME_TIER_DISCREPANCY_KIND_KEYS = [\n 'gameUnreadable',\n 'invalidEvent',\n 'eventSequenceMismatch',\n 'eventSequenceGap',\n 'rollupMismatch',\n 'scoreMirrorMismatch',\n 'unrosteredStatLine',\n 'fantasyPointsStale',\n 'finalRecordMissing',\n 'finalRecordMismatch',\n 'participationSnapshotMismatch',\n 'gameHeld',\n] as const;\nexport const AGGREGATE_TIER_DISCREPANCY_KIND_KEYS = [\n 'aggregateMismatch',\n 'aggregateEntryStale',\n 'aggregateEntryMissing',\n 'hallOfFameLifetimeMismatch',\n] as const;\nexport const STATS_DISCREPANCY_KIND_KEYS = [\n ...GAME_TIER_DISCREPANCY_KIND_KEYS,\n ...AGGREGATE_TIER_DISCREPANCY_KIND_KEYS,\n] as const;\nexport type StatsDiscrepancyKind = (typeof STATS_DISCREPANCY_KIND_KEYS)[number];\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploads.d.ts","sourceRoot":"","sources":["../../src/types/uploads.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"uploads.d.ts","sourceRoot":"","sources":["../../src/types/uploads.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,8BAA8B,gFAMjC,CAAC;AACX,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,8BAA8B,CAAC,CAAC,MAAM,CAAC,CAAC"}
|
package/dist/types/uploads.js
CHANGED
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
// Why a picture's files are owed deletion (RULE-STD-ARCH-102). A retirement is written in the same
|
|
2
|
-
// transaction that drops a picture's last reference, fails its upload, or deletes its owner.
|
|
3
|
-
// removed an admin removed it from its gallery or its slot
|
|
4
|
-
// replaced a newer upload took its slot
|
|
5
|
-
// superseded it finished after a newer upload already held the slot, so it never took it
|
|
6
|
-
// uploadFailed its upload failed, and whatever sizes were written go with it
|
|
7
|
-
// ownerDeleted its owner — a team, a location, an award — was deleted
|
|
8
1
|
export const PICTURE_RETIREMENT_REASON_KEYS = [
|
|
9
2
|
'removed',
|
|
10
3
|
'replaced',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploads.js","sourceRoot":"","sources":["../../src/types/uploads.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"uploads.js","sourceRoot":"","sources":["../../src/types/uploads.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,SAAS;IACT,UAAU;IACV,YAAY;IACZ,cAAc;IACd,cAAc;CACN,CAAC","sourcesContent":["export const PICTURE_RETIREMENT_REASON_KEYS = [\n 'removed',\n 'replaced',\n 'superseded',\n 'uploadFailed',\n 'ownerDeleted',\n] as const;\nexport type PictureRetirementReason = (typeof PICTURE_RETIREMENT_REASON_KEYS)[number];\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"on-progress.d.ts","sourceRoot":"","sources":["../../src/upload-variables/on-progress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"on-progress.d.ts","sourceRoot":"","sources":["../../src/upload-variables/on-progress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAIlE,eAAO,MAAM,gBAAgB,oCACX,WAAW,GAAG,IAAI,KAAK,IAAI,UAA3B,WAAW,GAAG,IAAI,KAAK,IAAI,EAChC,CAAC"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
//
|
|
3
|
-
//
|
|
4
|
-
// validates "is a function" at parse time and preserves the callback's type
|
|
5
|
-
// (and identity — zod 3's function schema returned a validating wrapper; this
|
|
6
|
-
// returns the original function).
|
|
2
|
+
// Zod 4 has no embeddable `z.function()` schema, so this validates "is a function" at parse time and
|
|
3
|
+
// returns the original callback, keeping its type and identity.
|
|
7
4
|
export const onProgressSchema = z
|
|
8
5
|
.custom((value) => typeof value === 'function')
|
|
9
6
|
.optional();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"on-progress.js","sourceRoot":"","sources":["../../src/upload-variables/on-progress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,
|
|
1
|
+
{"version":3,"file":"on-progress.js","sourceRoot":"","sources":["../../src/upload-variables/on-progress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,qGAAqG;AACrG,gEAAgE;AAChE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC;KAC9B,MAAM,CAAsC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,UAAU,CAAC;KACnF,QAAQ,EAAE,CAAC","sourcesContent":["import { z } from 'zod';\nimport type { UploadState } from '@ttt-productions/media-schemas';\n\n// Zod 4 has no embeddable `z.function()` schema, so this validates \"is a function\" at parse time and\n// returns the original callback, keeping its type and identity.\nexport const onProgressSchema = z\n .custom<(state: UploadState | null) => void>((value) => typeof value === 'function')\n .optional();\n"]}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import type { PictureOrigin } from '../media/file-origins.js';
|
|
3
3
|
import { PICTURE_TARGETS } from '../schemas/uploads.js';
|
|
4
|
-
/** What a picture is uploaded for: its origin, and that origin's target — the owner, by id. */
|
|
5
4
|
export type PictureUploadTarget = {
|
|
6
5
|
[O in PictureOrigin]: {
|
|
7
6
|
origin: O;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"picture-upload-variables.d.ts","sourceRoot":"","sources":["../../src/upload-variables/picture-upload-variables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD
|
|
1
|
+
{"version":3,"file":"picture-upload-variables.d.ts","sourceRoot":"","sources":["../../src/upload-variables/picture-upload-variables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,MAAM,MAAM,mBAAmB,GAAG;KAC/B,CAAC,IAAI,aAAa,GAAG;QAAE,MAAM,EAAE,CAAC,CAAC;QAAC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;KAAE;CAChG,CAAC,aAAa,CAAC,CAAC;AAQjB,eAAO,MAAM,yBAAyB,EAMtB,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAE/C,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;kBAQ9B,CAAC;AACZ,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC"}
|
|
@@ -3,8 +3,6 @@ import { ClientMediaClaimSchema } from '@ttt-productions/media-schemas';
|
|
|
3
3
|
import { PICTURE_ORIGIN_KEYS } from '../media/file-origins.js';
|
|
4
4
|
import { PICTURE_TARGETS } from '../schemas/uploads.js';
|
|
5
5
|
import { onProgressSchema } from './on-progress.js';
|
|
6
|
-
// One member per picture origin, each pairing the origin with its own target schema, built from
|
|
7
|
-
// `PICTURE_TARGETS` so a new origin joins it with no change here.
|
|
8
6
|
const pictureUploadTargetOptions = PICTURE_ORIGIN_KEYS.map((origin) => z.object({ origin: z.literal(origin), targetInfo: PICTURE_TARGETS[origin].schema }).strict());
|
|
9
7
|
// The mapped options are one object schema per origin; TypeScript cannot follow the origin-to-target
|
|
10
8
|
// pairing through the map, so the union is typed by `PictureUploadTarget`, which states it.
|
|
@@ -13,8 +11,6 @@ export const PictureUploadVariablesSchema = z
|
|
|
13
11
|
.object({
|
|
14
12
|
target: PictureUploadTargetSchema,
|
|
15
13
|
file: z.instanceof(File),
|
|
16
|
-
// Untrusted client claim of what the user's action implies (advisory; the
|
|
17
|
-
// server byte inspection is the only classification authority).
|
|
18
14
|
claim: ClientMediaClaimSchema.optional(),
|
|
19
15
|
onProgress: onProgressSchema,
|
|
20
16
|
signal: z.instanceof(AbortSignal).optional(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"picture-upload-variables.js","sourceRoot":"","sources":["../../src/upload-variables/picture-upload-variables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"picture-upload-variables.js","sourceRoot":"","sources":["../../src/upload-variables/picture-upload-variables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAMpD,MAAM,0BAA0B,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACpE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAC7F,CAAC;AAEF,qGAAqG;AACrG,4FAA4F;AAC5F,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,kBAAkB,CAC3D,QAAQ,EACR,0BAGC,CAC2C,CAAC;AAE/C,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC;KAC1C,MAAM,CAAC;IACN,MAAM,EAAE,yBAAyB;IACjC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;IACxB,KAAK,EAAE,sBAAsB,CAAC,QAAQ,EAAE;IACxC,UAAU,EAAE,gBAAgB;IAC5B,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE;CAC7C,CAAC;KACD,MAAM,EAAE,CAAC","sourcesContent":["import { z } from 'zod';\nimport { ClientMediaClaimSchema } from '@ttt-productions/media-schemas';\nimport { PICTURE_ORIGIN_KEYS } from '../media/file-origins.js';\nimport type { PictureOrigin } from '../media/file-origins.js';\nimport { PICTURE_TARGETS } from '../schemas/uploads.js';\nimport { onProgressSchema } from './on-progress.js';\n\nexport type PictureUploadTarget = {\n [O in PictureOrigin]: { origin: O; targetInfo: z.infer<(typeof PICTURE_TARGETS)[O]['schema']> };\n}[PictureOrigin];\n\nconst pictureUploadTargetOptions = PICTURE_ORIGIN_KEYS.map((origin) =>\n z.object({ origin: z.literal(origin), targetInfo: PICTURE_TARGETS[origin].schema }).strict(),\n);\n\n// The mapped options are one object schema per origin; TypeScript cannot follow the origin-to-target\n// pairing through the map, so the union is typed by `PictureUploadTarget`, which states it.\nexport const PictureUploadTargetSchema = z.discriminatedUnion(\n 'origin',\n pictureUploadTargetOptions as [\n (typeof pictureUploadTargetOptions)[number],\n ...(typeof pictureUploadTargetOptions)[number][],\n ],\n) as unknown as z.ZodType<PictureUploadTarget>;\n\nexport const PictureUploadVariablesSchema = z\n .object({\n target: PictureUploadTargetSchema,\n file: z.instanceof(File),\n claim: ClientMediaClaimSchema.optional(),\n onProgress: onProgressSchema,\n signal: z.instanceof(AbortSignal).optional(),\n })\n .strict();\nexport type PictureUploadVariables = z.infer<typeof PictureUploadVariablesSchema>;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sign-hardware-contract-variables.d.ts","sourceRoot":"","sources":["../../src/upload-variables/sign-hardware-contract-variables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"sign-hardware-contract-variables.d.ts","sourceRoot":"","sources":["../../src/upload-variables/sign-hardware-contract-variables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,mCAAmC;;;kBAKrC,CAAC;AACZ,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAC"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { hardwareLoanContractIdSchema } from '../doc-schemas/atoms.js';
|
|
3
|
-
// Variables for the hardware-contract signing mutation hook (RULE-STD-MEDIA-005). The signature is the
|
|
4
|
-
// drawing as the canvas exported it.
|
|
5
3
|
export const SignHardwareContractVariablesSchema = z
|
|
6
4
|
.object({
|
|
7
5
|
contractId: hardwareLoanContractIdSchema,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sign-hardware-contract-variables.js","sourceRoot":"","sources":["../../src/upload-variables/sign-hardware-contract-variables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAEvE,
|
|
1
|
+
{"version":3,"file":"sign-hardware-contract-variables.js","sourceRoot":"","sources":["../../src/upload-variables/sign-hardware-contract-variables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAEvE,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC;KACjD,MAAM,CAAC;IACN,UAAU,EAAE,4BAA4B;IACxC,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;CAC9B,CAAC;KACD,MAAM,EAAE,CAAC","sourcesContent":["import { z } from 'zod';\nimport { hardwareLoanContractIdSchema } from '../doc-schemas/atoms.js';\n\nexport const SignHardwareContractVariablesSchema = z\n .object({\n contractId: hardwareLoanContractIdSchema,\n signature: z.instanceof(Blob),\n })\n .strict();\nexport type SignHardwareContractVariables = z.infer<typeof SignHardwareContractVariablesSchema>;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sign-waiver-variables.d.ts","sourceRoot":"","sources":["../../src/upload-variables/sign-waiver-variables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"sign-waiver-variables.d.ts","sourceRoot":"","sources":["../../src/upload-variables/sign-waiver-variables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,mBAAmB;;;;;;;;;;4BAG9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;kBAQ3B,CAAC;AACZ,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
|
|
@@ -3,14 +3,10 @@ import { leagueIdSchema } from '../doc-schemas/atoms.js';
|
|
|
3
3
|
import { waiverTemplateIdSchema, waiverTemplateVersionNumberSchema, } from '../doc-schemas/waiver-template.js';
|
|
4
4
|
import { actingEntrySchema } from '../schemas/atoms.js';
|
|
5
5
|
import { ghostWaiverSubjectSchema } from '../schemas/signed-waivers.js';
|
|
6
|
-
// Whose waiver a signing is for: the signer's own, or a ghost's, witnessed through the entry the
|
|
7
|
-
// signer acts at.
|
|
8
6
|
export const WaiverSubjectSchema = z.discriminatedUnion('kind', [
|
|
9
7
|
z.object({ kind: z.literal('self') }).strict(),
|
|
10
8
|
ghostWaiverSubjectSchema.extend({ kind: z.literal('ghost'), entry: actingEntrySchema }).strict(),
|
|
11
9
|
]);
|
|
12
|
-
// Variables for the waiver-signing mutation hook (RULE-STD-MEDIA-005). The template id and version are the
|
|
13
|
-
// wording the signing dialog displayed; the signature is the drawing as the canvas exported it.
|
|
14
10
|
export const SignWaiverVariablesSchema = z
|
|
15
11
|
.object({
|
|
16
12
|
leagueId: leagueIdSchema,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sign-waiver-variables.js","sourceRoot":"","sources":["../../src/upload-variables/sign-waiver-variables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EACL,sBAAsB,EACtB,iCAAiC,GAClC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAExE,
|
|
1
|
+
{"version":3,"file":"sign-waiver-variables.js","sourceRoot":"","sources":["../../src/upload-variables/sign-waiver-variables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EACL,sBAAsB,EACtB,iCAAiC,GAClC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAExE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC9D,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;IAC9C,wBAAwB,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE;CACjG,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC;KACvC,MAAM,CAAC;IACN,QAAQ,EAAE,cAAc;IACxB,gBAAgB,EAAE,sBAAsB;IACxC,qBAAqB,EAAE,iCAAiC;IACxD,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;IAC7B,OAAO,EAAE,mBAAmB;CAC7B,CAAC;KACD,MAAM,EAAE,CAAC","sourcesContent":["import { z } from 'zod';\nimport { leagueIdSchema } from '../doc-schemas/atoms.js';\nimport {\n waiverTemplateIdSchema,\n waiverTemplateVersionNumberSchema,\n} from '../doc-schemas/waiver-template.js';\nimport { actingEntrySchema } from '../schemas/atoms.js';\nimport { ghostWaiverSubjectSchema } from '../schemas/signed-waivers.js';\n\nexport const WaiverSubjectSchema = z.discriminatedUnion('kind', [\n z.object({ kind: z.literal('self') }).strict(),\n ghostWaiverSubjectSchema.extend({ kind: z.literal('ghost'), entry: actingEntrySchema }).strict(),\n]);\nexport type WaiverSubject = z.infer<typeof WaiverSubjectSchema>;\n\nexport const SignWaiverVariablesSchema = z\n .object({\n leagueId: leagueIdSchema,\n waiverTemplateId: waiverTemplateIdSchema,\n waiverTemplateVersion: waiverTemplateVersionNumberSchema,\n signature: z.instanceof(Blob),\n subject: WaiverSubjectSchema,\n })\n .strict();\nexport type SignWaiverVariables = z.infer<typeof SignWaiverVariablesSchema>;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-status.d.ts","sourceRoot":"","sources":["../../src/utils/account-status.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"account-status.d.ts","sourceRoot":"","sources":["../../src/utils/account-status.ts"],"names":[],"mappings":"AAEA,wBAAgB,eAAe,CAAC,OAAO,EAAE;IAAE,UAAU,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAE5F"}
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
// Whether an account may act as a member: it has finished registration — its profile exists — and that
|
|
2
|
-
// profile's status is exactly `active`. Fail closed: a missing profile, or any other status, is refused.
|
|
3
|
-
// The callable auth assertion refuses every other account before a member callable runs, and a door
|
|
4
|
-
// is offered only to an account this answers true for (RULE-STD-ENG-006, RULE-STD-FRONTEND-110).
|
|
5
1
|
import { ACTIVE_USER_STATUS } from '../types/unions.js';
|
|
6
2
|
export function isActiveAccount(profile) {
|
|
7
3
|
return profile?.userStatus === ACTIVE_USER_STATUS;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-status.js","sourceRoot":"","sources":["../../src/utils/account-status.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"account-status.js","sourceRoot":"","sources":["../../src/utils/account-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,UAAU,eAAe,CAAC,OAAmD;IACjF,OAAO,OAAO,EAAE,UAAU,KAAK,kBAAkB,CAAC;AACpD,CAAC","sourcesContent":["import { ACTIVE_USER_STATUS } from '../types/unions.js';\n\nexport function isActiveAccount(profile: { userStatus: unknown } | null | undefined): boolean {\n return profile?.userStatus === ACTIVE_USER_STATUS;\n}\n"]}
|