@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.
Files changed (496) hide show
  1. package/dist/constants/admin-views.d.ts.map +1 -1
  2. package/dist/constants/admin-views.js +0 -3
  3. package/dist/constants/admin-views.js.map +1 -1
  4. package/dist/constants/business.d.ts.map +1 -1
  5. package/dist/constants/business.js +0 -52
  6. package/dist/constants/business.js.map +1 -1
  7. package/dist/constants/deployment.d.ts +0 -2
  8. package/dist/constants/deployment.d.ts.map +1 -1
  9. package/dist/constants/deployment.js +0 -2
  10. package/dist/constants/deployment.js.map +1 -1
  11. package/dist/constants/media.d.ts.map +1 -1
  12. package/dist/constants/media.js +4 -30
  13. package/dist/constants/media.js.map +1 -1
  14. package/dist/constants/scheduled-jobs.d.ts +0 -25
  15. package/dist/constants/scheduled-jobs.d.ts.map +1 -1
  16. package/dist/constants/scheduled-jobs.js +0 -26
  17. package/dist/constants/scheduled-jobs.js.map +1 -1
  18. package/dist/constants/sports.d.ts +1 -0
  19. package/dist/constants/sports.d.ts.map +1 -1
  20. package/dist/constants/sports.js +4 -25
  21. package/dist/constants/sports.js.map +1 -1
  22. package/dist/constants/storage-keys.d.ts +0 -38
  23. package/dist/constants/storage-keys.d.ts.map +1 -1
  24. package/dist/constants/storage-keys.js +0 -41
  25. package/dist/constants/storage-keys.js.map +1 -1
  26. package/dist/constants/telemetry.d.ts +0 -3
  27. package/dist/constants/telemetry.d.ts.map +1 -1
  28. package/dist/constants/telemetry.js +2 -11
  29. package/dist/constants/telemetry.js.map +1 -1
  30. package/dist/doc-schemas/admin-notifications.d.ts +1 -2
  31. package/dist/doc-schemas/admin-notifications.d.ts.map +1 -1
  32. package/dist/doc-schemas/admin-notifications.js +0 -41
  33. package/dist/doc-schemas/admin-notifications.js.map +1 -1
  34. package/dist/doc-schemas/aggregate-stats.d.ts.map +1 -1
  35. package/dist/doc-schemas/aggregate-stats.js +0 -35
  36. package/dist/doc-schemas/aggregate-stats.js.map +1 -1
  37. package/dist/doc-schemas/atoms.d.ts +0 -17
  38. package/dist/doc-schemas/atoms.d.ts.map +1 -1
  39. package/dist/doc-schemas/atoms.js +0 -36
  40. package/dist/doc-schemas/atoms.js.map +1 -1
  41. package/dist/doc-schemas/audit-event.d.ts +2 -0
  42. package/dist/doc-schemas/audit-event.d.ts.map +1 -1
  43. package/dist/doc-schemas/audit-event.js +0 -8
  44. package/dist/doc-schemas/audit-event.js.map +1 -1
  45. package/dist/doc-schemas/award-group-grant.d.ts +2 -8
  46. package/dist/doc-schemas/award-group-grant.d.ts.map +1 -1
  47. package/dist/doc-schemas/award-group-grant.js +0 -25
  48. package/dist/doc-schemas/award-group-grant.js.map +1 -1
  49. package/dist/doc-schemas/catalogs.d.ts.map +1 -1
  50. package/dist/doc-schemas/catalogs.js +0 -12
  51. package/dist/doc-schemas/catalogs.js.map +1 -1
  52. package/dist/doc-schemas/firestore-primitives.d.ts.map +1 -1
  53. package/dist/doc-schemas/firestore-primitives.js +0 -5
  54. package/dist/doc-schemas/firestore-primitives.js.map +1 -1
  55. package/dist/doc-schemas/gallery.d.ts.map +1 -1
  56. package/dist/doc-schemas/gallery.js +9 -18
  57. package/dist/doc-schemas/gallery.js.map +1 -1
  58. package/dist/doc-schemas/game-location.d.ts.map +1 -1
  59. package/dist/doc-schemas/game-location.js +2 -11
  60. package/dist/doc-schemas/game-location.js.map +1 -1
  61. package/dist/doc-schemas/game-stat-history.d.ts.map +1 -1
  62. package/dist/doc-schemas/game-stat-history.js +2 -11
  63. package/dist/doc-schemas/game-stat-history.js.map +1 -1
  64. package/dist/doc-schemas/game-stats.d.ts.map +1 -1
  65. package/dist/doc-schemas/game-stats.js +0 -56
  66. package/dist/doc-schemas/game-stats.js.map +1 -1
  67. package/dist/doc-schemas/league-team.d.ts.map +1 -1
  68. package/dist/doc-schemas/league-team.js +6 -29
  69. package/dist/doc-schemas/league-team.js.map +1 -1
  70. package/dist/doc-schemas/membership-roster-sync.d.ts.map +1 -1
  71. package/dist/doc-schemas/membership-roster-sync.js +0 -17
  72. package/dist/doc-schemas/membership-roster-sync.js.map +1 -1
  73. package/dist/doc-schemas/migration-console.d.ts +21 -15
  74. package/dist/doc-schemas/migration-console.d.ts.map +1 -1
  75. package/dist/doc-schemas/migration-console.js +0 -32
  76. package/dist/doc-schemas/migration-console.js.map +1 -1
  77. package/dist/doc-schemas/pending-media.d.ts.map +1 -1
  78. package/dist/doc-schemas/pending-media.js +8 -20
  79. package/dist/doc-schemas/pending-media.js.map +1 -1
  80. package/dist/doc-schemas/picture-retirement.d.ts.map +1 -1
  81. package/dist/doc-schemas/picture-retirement.js +8 -13
  82. package/dist/doc-schemas/picture-retirement.js.map +1 -1
  83. package/dist/doc-schemas/publicUser.d.ts.map +1 -1
  84. package/dist/doc-schemas/publicUser.js +0 -5
  85. package/dist/doc-schemas/publicUser.js.map +1 -1
  86. package/dist/doc-schemas/registration-start.d.ts.map +1 -1
  87. package/dist/doc-schemas/registration-start.js +2 -5
  88. package/dist/doc-schemas/registration-start.js.map +1 -1
  89. package/dist/doc-schemas/registry.d.ts +25 -14
  90. package/dist/doc-schemas/registry.d.ts.map +1 -1
  91. package/dist/doc-schemas/registry.js +0 -10
  92. package/dist/doc-schemas/registry.js.map +1 -1
  93. package/dist/doc-schemas/reserved-display-name.d.ts.map +1 -1
  94. package/dist/doc-schemas/reserved-display-name.js +0 -5
  95. package/dist/doc-schemas/reserved-display-name.js.map +1 -1
  96. package/dist/doc-schemas/sport-game.d.ts.map +1 -1
  97. package/dist/doc-schemas/sport-game.js +1 -29
  98. package/dist/doc-schemas/sport-game.js.map +1 -1
  99. package/dist/doc-schemas/sport-league.d.ts +0 -9
  100. package/dist/doc-schemas/sport-league.d.ts.map +1 -1
  101. package/dist/doc-schemas/sport-league.js +4 -26
  102. package/dist/doc-schemas/sport-league.js.map +1 -1
  103. package/dist/doc-schemas/stats-operation.d.ts +22 -18
  104. package/dist/doc-schemas/stats-operation.d.ts.map +1 -1
  105. package/dist/doc-schemas/stats-operation.js +7 -44
  106. package/dist/doc-schemas/stats-operation.js.map +1 -1
  107. package/dist/doc-schemas/status-reconcile-queue.d.ts +0 -6
  108. package/dist/doc-schemas/status-reconcile-queue.d.ts.map +1 -1
  109. package/dist/doc-schemas/status-reconcile-queue.js +0 -13
  110. package/dist/doc-schemas/status-reconcile-queue.js.map +1 -1
  111. package/dist/doc-schemas/sweep-state.d.ts.map +1 -1
  112. package/dist/doc-schemas/sweep-state.js +4 -20
  113. package/dist/doc-schemas/sweep-state.js.map +1 -1
  114. package/dist/doc-schemas/system.d.ts.map +1 -1
  115. package/dist/doc-schemas/system.js +1 -27
  116. package/dist/doc-schemas/system.js.map +1 -1
  117. package/dist/doc-schemas/team-membership.d.ts.map +1 -1
  118. package/dist/doc-schemas/team-membership.js +0 -10
  119. package/dist/doc-schemas/team-membership.js.map +1 -1
  120. package/dist/doc-schemas/user-profile.d.ts +0 -1
  121. package/dist/doc-schemas/user-profile.d.ts.map +1 -1
  122. package/dist/doc-schemas/user-profile.js +0 -28
  123. package/dist/doc-schemas/user-profile.js.map +1 -1
  124. package/dist/doc-schemas/waiver-template.d.ts.map +1 -1
  125. package/dist/doc-schemas/waiver-template.js +4 -25
  126. package/dist/doc-schemas/waiver-template.js.map +1 -1
  127. package/dist/doc-schemas/waivers-and-hardware.d.ts.map +1 -1
  128. package/dist/doc-schemas/waivers-and-hardware.js +0 -20
  129. package/dist/doc-schemas/waivers-and-hardware.js.map +1 -1
  130. package/dist/domain-events/domain-events.d.ts.map +1 -1
  131. package/dist/domain-events/domain-events.js +0 -67
  132. package/dist/domain-events/domain-events.js.map +1 -1
  133. package/dist/ids/award-grant-ids.d.ts.map +1 -1
  134. package/dist/ids/award-grant-ids.js +0 -7
  135. package/dist/ids/award-grant-ids.js.map +1 -1
  136. package/dist/ids/compound-ids.d.ts.map +1 -1
  137. package/dist/ids/compound-ids.js +0 -7
  138. package/dist/ids/compound-ids.js.map +1 -1
  139. package/dist/ids/minted-ids.d.ts.map +1 -1
  140. package/dist/ids/minted-ids.js +4 -14
  141. package/dist/ids/minted-ids.js.map +1 -1
  142. package/dist/ids/notification-ids.d.ts.map +1 -1
  143. package/dist/ids/notification-ids.js +0 -15
  144. package/dist/ids/notification-ids.js.map +1 -1
  145. package/dist/ids/picture-ids.d.ts +0 -5
  146. package/dist/ids/picture-ids.d.ts.map +1 -1
  147. package/dist/ids/picture-ids.js +0 -11
  148. package/dist/ids/picture-ids.js.map +1 -1
  149. package/dist/ids/stat-event-ids.d.ts +0 -6
  150. package/dist/ids/stat-event-ids.d.ts.map +1 -1
  151. package/dist/ids/stat-event-ids.js +0 -15
  152. package/dist/ids/stat-event-ids.js.map +1 -1
  153. package/dist/ids/stats-operation-ids.d.ts.map +1 -1
  154. package/dist/ids/stats-operation-ids.js +0 -7
  155. package/dist/ids/stats-operation-ids.js.map +1 -1
  156. package/dist/ids/waiver-template-ids.d.ts +0 -1
  157. package/dist/ids/waiver-template-ids.d.ts.map +1 -1
  158. package/dist/ids/waiver-template-ids.js +0 -2
  159. package/dist/ids/waiver-template-ids.js.map +1 -1
  160. package/dist/index.d.ts +2 -0
  161. package/dist/index.d.ts.map +1 -1
  162. package/dist/index.js +2 -2
  163. package/dist/index.js.map +1 -1
  164. package/dist/input-formats/input-formats.d.ts +0 -80
  165. package/dist/input-formats/input-formats.d.ts.map +1 -1
  166. package/dist/input-formats/input-formats.js +0 -86
  167. package/dist/input-formats/input-formats.js.map +1 -1
  168. package/dist/media/file-origins.d.ts +0 -3
  169. package/dist/media/file-origins.d.ts.map +1 -1
  170. package/dist/media/file-origins.js +0 -26
  171. package/dist/media/file-origins.js.map +1 -1
  172. package/dist/media/picture-aspects.d.ts +0 -2
  173. package/dist/media/picture-aspects.d.ts.map +1 -1
  174. package/dist/media/picture-aspects.js +0 -5
  175. package/dist/media/picture-aspects.js.map +1 -1
  176. package/dist/media/picture-url.d.ts +0 -6
  177. package/dist/media/picture-url.d.ts.map +1 -1
  178. package/dist/media/picture-url.js +0 -9
  179. package/dist/media/picture-url.js.map +1 -1
  180. package/dist/media/upload-tray-display.d.ts +0 -3
  181. package/dist/media/upload-tray-display.d.ts.map +1 -1
  182. package/dist/media/upload-tray-display.js +0 -6
  183. package/dist/media/upload-tray-display.js.map +1 -1
  184. package/dist/migration-console/action-ids.d.ts +4 -1
  185. package/dist/migration-console/action-ids.d.ts.map +1 -1
  186. package/dist/migration-console/action-ids.js +8 -45
  187. package/dist/migration-console/action-ids.js.map +1 -1
  188. package/dist/migration-console/console-lock.d.ts +10 -0
  189. package/dist/migration-console/console-lock.d.ts.map +1 -0
  190. package/dist/migration-console/console-lock.js +14 -0
  191. package/dist/migration-console/console-lock.js.map +1 -0
  192. package/dist/migration-console/consumed-source.d.ts +4 -0
  193. package/dist/migration-console/consumed-source.d.ts.map +1 -0
  194. package/dist/migration-console/consumed-source.js +10 -0
  195. package/dist/migration-console/consumed-source.js.map +1 -0
  196. package/dist/migration-console/manifest.d.ts +2 -24
  197. package/dist/migration-console/manifest.d.ts.map +1 -1
  198. package/dist/migration-console/manifest.js +174 -61
  199. package/dist/migration-console/manifest.js.map +1 -1
  200. package/dist/migration-console/run-state.d.ts +2 -14
  201. package/dist/migration-console/run-state.d.ts.map +1 -1
  202. package/dist/migration-console/run-state.js +3 -16
  203. package/dist/migration-console/run-state.js.map +1 -1
  204. package/dist/notifications/admin-notification-config.d.ts +0 -11
  205. package/dist/notifications/admin-notification-config.d.ts.map +1 -1
  206. package/dist/notifications/admin-notification-config.js +2 -13
  207. package/dist/notifications/admin-notification-config.js.map +1 -1
  208. package/dist/notifications/archive-all.d.ts.map +1 -1
  209. package/dist/notifications/archive-all.js +0 -2
  210. package/dist/notifications/archive-all.js.map +1 -1
  211. package/dist/notifications/occurrences.d.ts +0 -3
  212. package/dist/notifications/occurrences.d.ts.map +1 -1
  213. package/dist/notifications/occurrences.js +0 -7
  214. package/dist/notifications/occurrences.js.map +1 -1
  215. package/dist/paths/app-routes.d.ts +0 -12
  216. package/dist/paths/app-routes.d.ts.map +1 -1
  217. package/dist/paths/app-routes.js +0 -18
  218. package/dist/paths/app-routes.js.map +1 -1
  219. package/dist/paths/collection-groups.d.ts.map +1 -1
  220. package/dist/paths/collection-groups.js +0 -5
  221. package/dist/paths/collection-groups.js.map +1 -1
  222. package/dist/paths/collection-refs.d.ts.map +1 -1
  223. package/dist/paths/collection-refs.js +0 -4
  224. package/dist/paths/collection-refs.js.map +1 -1
  225. package/dist/paths/collections.d.ts +0 -5
  226. package/dist/paths/collections.d.ts.map +1 -1
  227. package/dist/paths/collections.js +0 -68
  228. package/dist/paths/collections.js.map +1 -1
  229. package/dist/paths/path-builders.d.ts.map +1 -1
  230. package/dist/paths/path-builders.js +0 -16
  231. package/dist/paths/path-builders.js.map +1 -1
  232. package/dist/paths/picture-owner-paths.d.ts +0 -4
  233. package/dist/paths/picture-owner-paths.d.ts.map +1 -1
  234. package/dist/paths/picture-owner-paths.js +2 -11
  235. package/dist/paths/picture-owner-paths.js.map +1 -1
  236. package/dist/paths/storage-paths.d.ts +0 -18
  237. package/dist/paths/storage-paths.d.ts.map +1 -1
  238. package/dist/paths/storage-paths.js +0 -23
  239. package/dist/paths/storage-paths.js.map +1 -1
  240. package/dist/paths/utils.d.ts +0 -6
  241. package/dist/paths/utils.d.ts.map +1 -1
  242. package/dist/paths/utils.js +0 -9
  243. package/dist/paths/utils.js.map +1 -1
  244. package/dist/schemas/account-settings.d.ts.map +1 -1
  245. package/dist/schemas/account-settings.js +0 -7
  246. package/dist/schemas/account-settings.js.map +1 -1
  247. package/dist/schemas/admin-notifications.d.ts.map +1 -1
  248. package/dist/schemas/admin-notifications.js +0 -17
  249. package/dist/schemas/admin-notifications.js.map +1 -1
  250. package/dist/schemas/admin-stats.d.ts.map +1 -1
  251. package/dist/schemas/admin-stats.js +0 -9
  252. package/dist/schemas/admin-stats.js.map +1 -1
  253. package/dist/schemas/app-config.d.ts.map +1 -1
  254. package/dist/schemas/app-config.js +0 -10
  255. package/dist/schemas/app-config.js.map +1 -1
  256. package/dist/schemas/atoms.d.ts.map +1 -1
  257. package/dist/schemas/atoms.js +0 -10
  258. package/dist/schemas/atoms.js.map +1 -1
  259. package/dist/schemas/awards.d.ts +3 -3
  260. package/dist/schemas/awards.d.ts.map +1 -1
  261. package/dist/schemas/awards.js +0 -29
  262. package/dist/schemas/awards.js.map +1 -1
  263. package/dist/schemas/dead-letters.d.ts +0 -3
  264. package/dist/schemas/dead-letters.d.ts.map +1 -1
  265. package/dist/schemas/dead-letters.js +0 -15
  266. package/dist/schemas/dead-letters.js.map +1 -1
  267. package/dist/schemas/game-locations.d.ts.map +1 -1
  268. package/dist/schemas/game-locations.js +0 -6
  269. package/dist/schemas/game-locations.js.map +1 -1
  270. package/dist/schemas/hardware-loan-contracts.d.ts.map +1 -1
  271. package/dist/schemas/hardware-loan-contracts.js +0 -13
  272. package/dist/schemas/hardware-loan-contracts.js.map +1 -1
  273. package/dist/schemas/index.d.ts.map +1 -1
  274. package/dist/schemas/index.js +0 -2
  275. package/dist/schemas/index.js.map +1 -1
  276. package/dist/schemas/leagues.d.ts.map +1 -1
  277. package/dist/schemas/leagues.js +0 -24
  278. package/dist/schemas/leagues.js.map +1 -1
  279. package/dist/schemas/migration-console.d.ts +58 -15
  280. package/dist/schemas/migration-console.d.ts.map +1 -1
  281. package/dist/schemas/migration-console.js +4 -34
  282. package/dist/schemas/migration-console.js.map +1 -1
  283. package/dist/schemas/pictures.d.ts.map +1 -1
  284. package/dist/schemas/pictures.js +0 -10
  285. package/dist/schemas/pictures.js.map +1 -1
  286. package/dist/schemas/schedules.d.ts.map +1 -1
  287. package/dist/schemas/schedules.js +0 -26
  288. package/dist/schemas/schedules.js.map +1 -1
  289. package/dist/schemas/scoring.d.ts +20 -26
  290. package/dist/schemas/scoring.d.ts.map +1 -1
  291. package/dist/schemas/scoring.js +0 -33
  292. package/dist/schemas/scoring.js.map +1 -1
  293. package/dist/schemas/signed-waivers.d.ts.map +1 -1
  294. package/dist/schemas/signed-waivers.js +0 -22
  295. package/dist/schemas/signed-waivers.js.map +1 -1
  296. package/dist/schemas/stats.d.ts +12 -0
  297. package/dist/schemas/stats.d.ts.map +1 -1
  298. package/dist/schemas/stats.js +21 -61
  299. package/dist/schemas/stats.js.map +1 -1
  300. package/dist/schemas/team-joining.d.ts.map +1 -1
  301. package/dist/schemas/team-joining.js +0 -30
  302. package/dist/schemas/team-joining.js.map +1 -1
  303. package/dist/schemas/teams.d.ts +0 -1
  304. package/dist/schemas/teams.d.ts.map +1 -1
  305. package/dist/schemas/teams.js +0 -83
  306. package/dist/schemas/teams.js.map +1 -1
  307. package/dist/schemas/uploads.d.ts +0 -8
  308. package/dist/schemas/uploads.d.ts.map +1 -1
  309. package/dist/schemas/uploads.js +0 -29
  310. package/dist/schemas/uploads.js.map +1 -1
  311. package/dist/schemas/users.d.ts +0 -1
  312. package/dist/schemas/users.d.ts.map +1 -1
  313. package/dist/schemas/users.js +0 -41
  314. package/dist/schemas/users.js.map +1 -1
  315. package/dist/schemas/waiver-templates.d.ts.map +1 -1
  316. package/dist/schemas/waiver-templates.js +0 -7
  317. package/dist/schemas/waiver-templates.js.map +1 -1
  318. package/dist/sports/basketball-scoring.d.ts +0 -4
  319. package/dist/sports/basketball-scoring.d.ts.map +1 -1
  320. package/dist/sports/basketball-scoring.js +0 -34
  321. package/dist/sports/basketball-scoring.js.map +1 -1
  322. package/dist/sports/basketball.d.ts.map +1 -1
  323. package/dist/sports/basketball.js +0 -5
  324. package/dist/sports/basketball.js.map +1 -1
  325. package/dist/sports/bulk-entry.d.ts +0 -22
  326. package/dist/sports/bulk-entry.d.ts.map +1 -1
  327. package/dist/sports/bulk-entry.js +0 -10
  328. package/dist/sports/bulk-entry.js.map +1 -1
  329. package/dist/sports/column-catalog.d.ts +0 -17
  330. package/dist/sports/column-catalog.d.ts.map +1 -1
  331. package/dist/sports/column-catalog.js +0 -10
  332. package/dist/sports/column-catalog.js.map +1 -1
  333. package/dist/sports/contribution.d.ts +2 -59
  334. package/dist/sports/contribution.d.ts.map +1 -1
  335. package/dist/sports/contribution.js +2 -45
  336. package/dist/sports/contribution.js.map +1 -1
  337. package/dist/sports/curling-scoring.d.ts +0 -1
  338. package/dist/sports/curling-scoring.d.ts.map +1 -1
  339. package/dist/sports/curling-scoring.js +0 -27
  340. package/dist/sports/curling-scoring.js.map +1 -1
  341. package/dist/sports/curling.d.ts.map +1 -1
  342. package/dist/sports/curling.js +0 -4
  343. package/dist/sports/curling.js.map +1 -1
  344. package/dist/sports/finalized-record.d.ts +2 -19
  345. package/dist/sports/finalized-record.d.ts.map +1 -1
  346. package/dist/sports/finalized-record.js +21 -22
  347. package/dist/sports/finalized-record.js.map +1 -1
  348. package/dist/sports/football-scoring.d.ts.map +1 -1
  349. package/dist/sports/football-scoring.js +0 -21
  350. package/dist/sports/football-scoring.js.map +1 -1
  351. package/dist/sports/football.d.ts.map +1 -1
  352. package/dist/sports/football.js +0 -4
  353. package/dist/sports/football.js.map +1 -1
  354. package/dist/sports/index.d.ts.map +1 -1
  355. package/dist/sports/index.js +0 -2
  356. package/dist/sports/index.js.map +1 -1
  357. package/dist/sports/ledger-continuity.d.ts +0 -2
  358. package/dist/sports/ledger-continuity.d.ts.map +1 -1
  359. package/dist/sports/ledger-continuity.js +0 -5
  360. package/dist/sports/ledger-continuity.js.map +1 -1
  361. package/dist/sports/lifetime-summary.d.ts +0 -6
  362. package/dist/sports/lifetime-summary.d.ts.map +1 -1
  363. package/dist/sports/lifetime-summary.js +0 -7
  364. package/dist/sports/lifetime-summary.js.map +1 -1
  365. package/dist/sports/rankings.d.ts +0 -12
  366. package/dist/sports/rankings.d.ts.map +1 -1
  367. package/dist/sports/rankings.js +0 -15
  368. package/dist/sports/rankings.js.map +1 -1
  369. package/dist/sports/registry.d.ts +0 -10
  370. package/dist/sports/registry.d.ts.map +1 -1
  371. package/dist/sports/registry.js +0 -9
  372. package/dist/sports/registry.js.map +1 -1
  373. package/dist/sports/replay.d.ts +0 -11
  374. package/dist/sports/replay.d.ts.map +1 -1
  375. package/dist/sports/replay.js +0 -16
  376. package/dist/sports/replay.js.map +1 -1
  377. package/dist/sports/rollup-check.d.ts +0 -7
  378. package/dist/sports/rollup-check.d.ts.map +1 -1
  379. package/dist/sports/rollup-check.js +0 -14
  380. package/dist/sports/rollup-check.js.map +1 -1
  381. package/dist/sports/score-mirror.d.ts +0 -1
  382. package/dist/sports/score-mirror.d.ts.map +1 -1
  383. package/dist/sports/score-mirror.js +0 -4
  384. package/dist/sports/score-mirror.js.map +1 -1
  385. package/dist/sports/scoring-display.d.ts +0 -30
  386. package/dist/sports/scoring-display.d.ts.map +1 -1
  387. package/dist/sports/scoring-display.js +0 -9
  388. package/dist/sports/scoring-display.js.map +1 -1
  389. package/dist/sports/scoring.d.ts +0 -36
  390. package/dist/sports/scoring.d.ts.map +1 -1
  391. package/dist/sports/scoring.js +0 -10
  392. package/dist/sports/scoring.js.map +1 -1
  393. package/dist/sports/shared-columns.d.ts +0 -1
  394. package/dist/sports/shared-columns.d.ts.map +1 -1
  395. package/dist/sports/shared-columns.js +0 -7
  396. package/dist/sports/shared-columns.js.map +1 -1
  397. package/dist/sports/sport-adapter.d.ts +0 -32
  398. package/dist/sports/sport-adapter.d.ts.map +1 -1
  399. package/dist/sports/sport-adapter.js +0 -7
  400. package/dist/sports/sport-adapter.js.map +1 -1
  401. package/dist/sports/store-driver.d.ts +0 -28
  402. package/dist/sports/store-driver.d.ts.map +1 -1
  403. package/dist/sports/store-driver.js +0 -38
  404. package/dist/sports/store-driver.js.map +1 -1
  405. package/dist/types/audit.d.ts +1 -1
  406. package/dist/types/audit.d.ts.map +1 -1
  407. package/dist/types/audit.js +1 -67
  408. package/dist/types/audit.js.map +1 -1
  409. package/dist/types/claims.d.ts +0 -10
  410. package/dist/types/claims.d.ts.map +1 -1
  411. package/dist/types/claims.js +0 -16
  412. package/dist/types/claims.js.map +1 -1
  413. package/dist/types/notifications.d.ts.map +1 -1
  414. package/dist/types/notifications.js +7 -25
  415. package/dist/types/notifications.js.map +1 -1
  416. package/dist/types/picture-owners.d.ts +0 -1
  417. package/dist/types/picture-owners.d.ts.map +1 -1
  418. package/dist/types/picture-owners.js +0 -6
  419. package/dist/types/picture-owners.js.map +1 -1
  420. package/dist/types/schedules.d.ts.map +1 -1
  421. package/dist/types/schedules.js +0 -9
  422. package/dist/types/schedules.js.map +1 -1
  423. package/dist/types/sports.d.ts.map +1 -1
  424. package/dist/types/sports.js +0 -24
  425. package/dist/types/sports.js.map +1 -1
  426. package/dist/types/stats.d.ts.map +1 -1
  427. package/dist/types/stats.js +0 -65
  428. package/dist/types/stats.js.map +1 -1
  429. package/dist/types/unions.d.ts +0 -2
  430. package/dist/types/unions.d.ts.map +1 -1
  431. package/dist/types/unions.js +3 -91
  432. package/dist/types/unions.js.map +1 -1
  433. package/dist/types/uploads.d.ts.map +1 -1
  434. package/dist/types/uploads.js +0 -7
  435. package/dist/types/uploads.js.map +1 -1
  436. package/dist/upload-variables/on-progress.d.ts.map +1 -1
  437. package/dist/upload-variables/on-progress.js +2 -5
  438. package/dist/upload-variables/on-progress.js.map +1 -1
  439. package/dist/upload-variables/picture-upload-variables.d.ts +0 -1
  440. package/dist/upload-variables/picture-upload-variables.d.ts.map +1 -1
  441. package/dist/upload-variables/picture-upload-variables.js +0 -4
  442. package/dist/upload-variables/picture-upload-variables.js.map +1 -1
  443. package/dist/upload-variables/sign-hardware-contract-variables.d.ts.map +1 -1
  444. package/dist/upload-variables/sign-hardware-contract-variables.js +0 -2
  445. package/dist/upload-variables/sign-hardware-contract-variables.js.map +1 -1
  446. package/dist/upload-variables/sign-waiver-variables.d.ts.map +1 -1
  447. package/dist/upload-variables/sign-waiver-variables.js +0 -4
  448. package/dist/upload-variables/sign-waiver-variables.js.map +1 -1
  449. package/dist/utils/account-status.d.ts.map +1 -1
  450. package/dist/utils/account-status.js +0 -4
  451. package/dist/utils/account-status.js.map +1 -1
  452. package/dist/utils/app-config.d.ts +0 -53
  453. package/dist/utils/app-config.d.ts.map +1 -1
  454. package/dist/utils/app-config.js +0 -62
  455. package/dist/utils/app-config.js.map +1 -1
  456. package/dist/utils/display-name.d.ts +0 -7
  457. package/dist/utils/display-name.d.ts.map +1 -1
  458. package/dist/utils/display-name.js +0 -8
  459. package/dist/utils/display-name.js.map +1 -1
  460. package/dist/utils/index.d.ts +1 -0
  461. package/dist/utils/index.d.ts.map +1 -1
  462. package/dist/utils/index.js +1 -0
  463. package/dist/utils/index.js.map +1 -1
  464. package/dist/utils/league-calendar.d.ts +0 -11
  465. package/dist/utils/league-calendar.d.ts.map +1 -1
  466. package/dist/utils/league-calendar.js +7 -19
  467. package/dist/utils/league-calendar.js.map +1 -1
  468. package/dist/utils/league-join-warning.d.ts +0 -11
  469. package/dist/utils/league-join-warning.d.ts.map +1 -1
  470. package/dist/utils/league-join-warning.js +0 -28
  471. package/dist/utils/league-join-warning.js.map +1 -1
  472. package/dist/utils/league-joining.d.ts +0 -1
  473. package/dist/utils/league-joining.d.ts.map +1 -1
  474. package/dist/utils/league-joining.js +0 -7
  475. package/dist/utils/league-joining.js.map +1 -1
  476. package/dist/utils/league-mode.d.ts +0 -1
  477. package/dist/utils/league-mode.d.ts.map +1 -1
  478. package/dist/utils/league-mode.js +0 -4
  479. package/dist/utils/league-mode.js.map +1 -1
  480. package/dist/utils/schedules.d.ts +0 -15
  481. package/dist/utils/schedules.d.ts.map +1 -1
  482. package/dist/utils/schedules.js +0 -19
  483. package/dist/utils/schedules.js.map +1 -1
  484. package/dist/utils/stats-operation-request.d.ts +20 -0
  485. package/dist/utils/stats-operation-request.d.ts.map +1 -0
  486. package/dist/utils/stats-operation-request.js +10 -0
  487. package/dist/utils/stats-operation-request.js.map +1 -0
  488. package/dist/utils/team-creation.d.ts +0 -2
  489. package/dist/utils/team-creation.d.ts.map +1 -1
  490. package/dist/utils/team-creation.js +0 -6
  491. package/dist/utils/team-creation.js.map +1 -1
  492. package/dist/utils/team-member-actions.d.ts +0 -6
  493. package/dist/utils/team-member-actions.d.ts.map +1 -1
  494. package/dist/utils/team-member-actions.js +0 -12
  495. package/dist/utils/team-member-actions.js.map +1 -1
  496. package/package.json +2 -1
@@ -1,11 +1,5 @@
1
- // One builder per notification type, taking the committed action's own record. The occurrence it
2
- // returns is what the owning callable writes to the delivery ledger in the action's transaction
3
- // (RULE-STD-BACKEND-306): its id is derived from the action, never minted, so a retried write is the same
4
- // occurrence; and its aggregation key is declared apart from that id, so a later action of the
5
- // same kind is never mistaken for a retry of an earlier one.
6
1
  import { buildLeagueFreeAgentSignedUpEventId } from '../ids/notification-ids.js';
7
2
  import { ADMIN_NOTIFICATION_DEFINITIONS } from './admin-notification-config.js';
8
- /** A team joined a league. A team is created once, so the team's id identifies its creation. */
9
3
  export function leagueTeamCreatedNotification(teamId, team) {
10
4
  const metadata = { leagueId: team.leagueId, teamId };
11
5
  return {
@@ -17,7 +11,6 @@ export function leagueTeamCreatedNotification(teamId, team) {
17
11
  occurredAt: team.createdAt,
18
12
  };
19
13
  }
20
- /** A player signed up as a free agent in a league. */
21
14
  export function leagueFreeAgentSignedUpNotification(signup) {
22
15
  const metadata = { leagueId: signup.leagueId, userId: signup.userId };
23
16
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"occurrences.js","sourceRoot":"","sources":["../../src/notifications/occurrences.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,gGAAgG;AAChG,0GAA0G;AAC1G,+FAA+F;AAC/F,6DAA6D;AAK7D,OAAO,EAAE,mCAAmC,EAAE,MAAM,4BAA4B,CAAC;AAEjF,OAAO,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAchF,gGAAgG;AAChG,MAAM,UAAU,6BAA6B,CAC3C,MAAc,EACd,IAAoE;IAEpE,MAAM,QAAQ,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACrD,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,MAAM;QACf,cAAc,EAAE,8BAA8B,CAAC,iBAAiB,CAAC,cAAc,CAAC,QAAQ,CAAC;QACzF,WAAW,EAAE,IAAI,CAAC,eAAe;QACjC,QAAQ;QACR,UAAU,EAAE,IAAI,CAAC,SAAS;KAC3B,CAAC;AACJ,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,mCAAmC,CACjD,MAAuB;IAEvB,MAAM,QAAQ,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IACtE,OAAO;QACL,IAAI,EAAE,yBAAyB;QAC/B,OAAO,EAAE,mCAAmC,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC;QAC9F,cAAc,EAAE,8BAA8B,CAAC,uBAAuB,CAAC,cAAc,CAAC,QAAQ,CAAC;QAC/F,WAAW,EAAE,MAAM,CAAC,MAAM;QAC1B,QAAQ;QACR,UAAU,EAAE,MAAM,CAAC,SAAS;KAC7B,CAAC;AACJ,CAAC","sourcesContent":["// One builder per notification type, taking the committed action's own record. The occurrence it\n// returns is what the owning callable writes to the delivery ledger in the action's transaction\n// (RULE-STD-BACKEND-306): its id is derived from the action, never minted, so a retried write is the same\n// occurrence; and its aggregation key is declared apart from that id, so a later action of the\n// same kind is never mistaken for a retry of an earlier one.\n\nimport type { AdminNotificationMetadataByType } from '../doc-schemas/admin-notifications.js';\nimport type { LeagueTeam } from '../doc-schemas/league-team.js';\nimport type { LeagueFreeAgent } from '../doc-schemas/team-membership.js';\nimport { buildLeagueFreeAgentSignedUpEventId } from '../ids/notification-ids.js';\nimport type { AdminNotificationType } from '../types/notifications.js';\nimport { ADMIN_NOTIFICATION_DEFINITIONS } from './admin-notification-config.js';\n\nexport interface AdminNotificationOccurrence<\n T extends AdminNotificationType = AdminNotificationType,\n> {\n type: T;\n eventId: string;\n aggregationKey: string;\n /** The account whose action this records. */\n actorUserId: string;\n metadata: AdminNotificationMetadataByType[T];\n occurredAt: number;\n}\n\n/** A team joined a league. A team is created once, so the team's id identifies its creation. */\nexport function leagueTeamCreatedNotification(\n teamId: string,\n team: Pick<LeagueTeam, 'leagueId' | 'createdByUserId' | 'createdAt'>,\n): AdminNotificationOccurrence<'leagueTeamCreated'> {\n const metadata = { leagueId: team.leagueId, teamId };\n return {\n type: 'leagueTeamCreated',\n eventId: teamId,\n aggregationKey: ADMIN_NOTIFICATION_DEFINITIONS.leagueTeamCreated.aggregationKey(metadata),\n actorUserId: team.createdByUserId,\n metadata,\n occurredAt: team.createdAt,\n };\n}\n\n/** A player signed up as a free agent in a league. */\nexport function leagueFreeAgentSignedUpNotification(\n signup: LeagueFreeAgent,\n): AdminNotificationOccurrence<'leagueFreeAgentSignedUp'> {\n const metadata = { leagueId: signup.leagueId, userId: signup.userId };\n return {\n type: 'leagueFreeAgentSignedUp',\n eventId: buildLeagueFreeAgentSignedUpEventId(signup.leagueId, signup.userId, signup.createdAt),\n aggregationKey: ADMIN_NOTIFICATION_DEFINITIONS.leagueFreeAgentSignedUp.aggregationKey(metadata),\n actorUserId: signup.userId,\n metadata,\n occurredAt: signup.createdAt,\n };\n}\n"]}
1
+ {"version":3,"file":"occurrences.js","sourceRoot":"","sources":["../../src/notifications/occurrences.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mCAAmC,EAAE,MAAM,4BAA4B,CAAC;AAEjF,OAAO,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAahF,MAAM,UAAU,6BAA6B,CAC3C,MAAc,EACd,IAAoE;IAEpE,MAAM,QAAQ,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACrD,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,MAAM;QACf,cAAc,EAAE,8BAA8B,CAAC,iBAAiB,CAAC,cAAc,CAAC,QAAQ,CAAC;QACzF,WAAW,EAAE,IAAI,CAAC,eAAe;QACjC,QAAQ;QACR,UAAU,EAAE,IAAI,CAAC,SAAS;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,MAAuB;IAEvB,MAAM,QAAQ,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IACtE,OAAO;QACL,IAAI,EAAE,yBAAyB;QAC/B,OAAO,EAAE,mCAAmC,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC;QAC9F,cAAc,EAAE,8BAA8B,CAAC,uBAAuB,CAAC,cAAc,CAAC,QAAQ,CAAC;QAC/F,WAAW,EAAE,MAAM,CAAC,MAAM;QAC1B,QAAQ;QACR,UAAU,EAAE,MAAM,CAAC,SAAS;KAC7B,CAAC;AACJ,CAAC","sourcesContent":["import type { AdminNotificationMetadataByType } from '../doc-schemas/admin-notifications.js';\nimport type { LeagueTeam } from '../doc-schemas/league-team.js';\nimport type { LeagueFreeAgent } from '../doc-schemas/team-membership.js';\nimport { buildLeagueFreeAgentSignedUpEventId } from '../ids/notification-ids.js';\nimport type { AdminNotificationType } from '../types/notifications.js';\nimport { ADMIN_NOTIFICATION_DEFINITIONS } from './admin-notification-config.js';\n\nexport interface AdminNotificationOccurrence<\n T extends AdminNotificationType = AdminNotificationType,\n> {\n type: T;\n eventId: string;\n aggregationKey: string;\n actorUserId: string;\n metadata: AdminNotificationMetadataByType[T];\n occurredAt: number;\n}\n\nexport function leagueTeamCreatedNotification(\n teamId: string,\n team: Pick<LeagueTeam, 'leagueId' | 'createdByUserId' | 'createdAt'>,\n): AdminNotificationOccurrence<'leagueTeamCreated'> {\n const metadata = { leagueId: team.leagueId, teamId };\n return {\n type: 'leagueTeamCreated',\n eventId: teamId,\n aggregationKey: ADMIN_NOTIFICATION_DEFINITIONS.leagueTeamCreated.aggregationKey(metadata),\n actorUserId: team.createdByUserId,\n metadata,\n occurredAt: team.createdAt,\n };\n}\n\nexport function leagueFreeAgentSignedUpNotification(\n signup: LeagueFreeAgent,\n): AdminNotificationOccurrence<'leagueFreeAgentSignedUp'> {\n const metadata = { leagueId: signup.leagueId, userId: signup.userId };\n return {\n type: 'leagueFreeAgentSignedUp',\n eventId: buildLeagueFreeAgentSignedUpEventId(signup.leagueId, signup.userId, signup.createdAt),\n aggregationKey: ADMIN_NOTIFICATION_DEFINITIONS.leagueFreeAgentSignedUp.aggregationKey(metadata),\n actorUserId: signup.userId,\n metadata,\n occurredAt: signup.createdAt,\n };\n}\n"]}
@@ -1,22 +1,14 @@
1
1
  import type { AdminView } from '../constants/admin-views.js';
2
2
  import type { SportKey } from '../types/sports.js';
3
- /** The query-string key the hall of fame names its sport under. */
4
3
  export declare const HALL_OF_FAME_SPORT_PARAM = "sport";
5
- /** The query-string key the admin page's views live under. */
6
4
  export declare const ADMIN_VIEW_PARAM = "view";
7
- /** The query-string key a league workspace's sections live under. */
8
5
  export declare const ADMIN_SECTION_PARAM = "section";
9
- /** The query-string key the Leagues view names the league whose workspace is open under. */
10
6
  export declare const ADMIN_LEAGUE_PARAM = "league";
11
- /** The query-string key the Teams section names the team whose admin view is open under. */
12
7
  export declare const ADMIN_TEAM_PARAM = "team";
13
8
  export declare const ADMIN_LEAGUE_WORKSPACE_SECTION_KEYS: readonly ["settings", "schedule", "teams", "free-agents"];
14
9
  export type AdminLeagueWorkspaceSection = (typeof ADMIN_LEAGUE_WORKSPACE_SECTION_KEYS)[number];
15
- /** The league workspace's section holding the league's weeks and games. */
16
10
  export declare const LEAGUE_SCHEDULE_SECTION = "schedule";
17
- /** The league workspace's section listing the league's teams, each opening its admin view. */
18
11
  export declare const LEAGUE_TEAMS_SECTION = "teams";
19
- /** The league workspace's section listing the league's free-agent signups. */
20
12
  export declare const LEAGUE_FREE_AGENTS_SECTION = "free-agents";
21
13
  export declare const APP_ROUTES: {
22
14
  readonly home: () => string;
@@ -28,13 +20,9 @@ export declare const APP_ROUTES: {
28
20
  readonly league: (leagueId: string) => string;
29
21
  readonly leagueTeam: (leagueId: string, teamId: string) => string;
30
22
  readonly sportGame: (leagueId: string, gameId: string) => string;
31
- /** A game's scoring page, where a scorer records its stats. */
32
23
  readonly sportGameScoring: (leagueId: string, gameId: string) => string;
33
- /** An admin view; the dashboard is the bare page. */
34
24
  readonly admin: (view?: AdminView) => string;
35
- /** A league's admin workspace, on one of its sections when one is named. */
36
25
  readonly adminLeague: (leagueId: string, section?: AdminLeagueWorkspaceSection) => string;
37
- /** One team's admin view, inside its league's workspace on the Teams section. */
38
26
  readonly adminLeagueTeam: (leagueId: string, teamId: string) => string;
39
27
  };
40
28
  //# sourceMappingURL=app-routes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-routes.d.ts","sourceRoot":"","sources":["../../src/paths/app-routes.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,mEAAmE;AACnE,eAAO,MAAM,wBAAwB,UAAU,CAAC;AAEhD,8DAA8D;AAC9D,eAAO,MAAM,gBAAgB,SAAS,CAAC;AAEvC,qEAAqE;AACrE,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAE7C,4FAA4F;AAC5F,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAE3C,4FAA4F;AAC5F,eAAO,MAAM,gBAAgB,SAAS,CAAC;AAIvC,eAAO,MAAM,mCAAmC,2DAKtC,CAAC;AACX,MAAM,MAAM,2BAA2B,GAAG,CAAC,OAAO,mCAAmC,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/F,2EAA2E;AAC3E,eAAO,MAAM,uBAAuB,aAAmD,CAAC;AAExF,8FAA8F;AAC9F,eAAO,MAAM,oBAAoB,UAAgD,CAAC;AAElF,8EAA8E;AAC9E,eAAO,MAAM,0BAA0B,gBAAsD,CAAC;AAoB9F,eAAO,MAAM,UAAU;yBACX,MAAM;kCACK,QAAQ,KAAG,MAAM;8BAEvB,MAAM;6BACP,MAAM;0BACT,MAAM;4BACF,MAAM,KAAG,MAAM;gCACX,MAAM,KAAG,MAAM;oCACX,MAAM,UAAU,MAAM,KAAG,MAAM;mCAEhC,MAAM,UAAU,MAAM,KAAG,MAAM;IAErD,+DAA+D;0CAClC,MAAM,UAAU,MAAM,KAAG,MAAM;IAE5D,qDAAqD;4BACtC,SAAS,KAAG,MAAM;IAKjC,4EAA4E;qCACpD,MAAM,YAAY,2BAA2B,KAAG,MAAM;IAE9E,iFAAiF;yCACrD,MAAM,UAAU,MAAM,KAAG,MAAM;CAKnD,CAAC"}
1
+ {"version":3,"file":"app-routes.d.ts","sourceRoot":"","sources":["../../src/paths/app-routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,eAAO,MAAM,wBAAwB,UAAU,CAAC;AAEhD,eAAO,MAAM,gBAAgB,SAAS,CAAC;AAEvC,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAE7C,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAE3C,eAAO,MAAM,gBAAgB,SAAS,CAAC;AAEvC,eAAO,MAAM,mCAAmC,2DAKtC,CAAC;AACX,MAAM,MAAM,2BAA2B,GAAG,CAAC,OAAO,mCAAmC,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/F,eAAO,MAAM,uBAAuB,aAAmD,CAAC;AAExF,eAAO,MAAM,oBAAoB,UAAgD,CAAC;AAElF,eAAO,MAAM,0BAA0B,gBAAsD,CAAC;AAoB9F,eAAO,MAAM,UAAU;yBACX,MAAM;kCACK,QAAQ,KAAG,MAAM;8BAEvB,MAAM;6BACP,MAAM;0BACT,MAAM;4BACF,MAAM,KAAG,MAAM;gCACX,MAAM,KAAG,MAAM;oCACX,MAAM,UAAU,MAAM,KAAG,MAAM;mCAEhC,MAAM,UAAU,MAAM,KAAG,MAAM;0CAExB,MAAM,UAAU,MAAM,KAAG,MAAM;4BAE7C,SAAS,KAAG,MAAM;qCAKT,MAAM,YAAY,2BAA2B,KAAG,MAAM;yCAElD,MAAM,UAAU,MAAM,KAAG,MAAM;CAKnD,CAAC"}
@@ -1,30 +1,16 @@
1
- // Every app page address, declared once and built through `APP_ROUTES`. Both roots build these
2
- // links: the server writes one onto an admin notification card, and the app links to every one of
3
- // them, so each address shape has one change point (RULE-STD-ARCH-101). Every id is encoded, so an id
4
- // holding a `/` or a space still addresses its own page.
5
- /** The query-string key the hall of fame names its sport under. */
6
1
  export const HALL_OF_FAME_SPORT_PARAM = 'sport';
7
- /** The query-string key the admin page's views live under. */
8
2
  export const ADMIN_VIEW_PARAM = 'view';
9
- /** The query-string key a league workspace's sections live under. */
10
3
  export const ADMIN_SECTION_PARAM = 'section';
11
- /** The query-string key the Leagues view names the league whose workspace is open under. */
12
4
  export const ADMIN_LEAGUE_PARAM = 'league';
13
- /** The query-string key the Teams section names the team whose admin view is open under. */
14
5
  export const ADMIN_TEAM_PARAM = 'team';
15
- // The sections a league's admin workspace is addressed by. The workspace declares which of them it
16
- // has built as tabs; a link may name any of them.
17
6
  export const ADMIN_LEAGUE_WORKSPACE_SECTION_KEYS = [
18
7
  'settings',
19
8
  'schedule',
20
9
  'teams',
21
10
  'free-agents',
22
11
  ];
23
- /** The league workspace's section holding the league's weeks and games. */
24
12
  export const LEAGUE_SCHEDULE_SECTION = 'schedule';
25
- /** The league workspace's section listing the league's teams, each opening its admin view. */
26
13
  export const LEAGUE_TEAMS_SECTION = 'teams';
27
- /** The league workspace's section listing the league's free-agent signups. */
28
14
  export const LEAGUE_FREE_AGENTS_SECTION = 'free-agents';
29
15
  const enc = encodeURIComponent;
30
16
  function withQuery(path, entries) {
@@ -49,13 +35,9 @@ export const APP_ROUTES = {
49
35
  league: (leagueId) => `/league/${enc(leagueId)}`,
50
36
  leagueTeam: (leagueId, teamId) => `/league/${enc(leagueId)}/team/${enc(teamId)}`,
51
37
  sportGame: (leagueId, gameId) => `/league/${enc(leagueId)}/game/${enc(gameId)}`,
52
- /** A game's scoring page, where a scorer records its stats. */
53
38
  sportGameScoring: (leagueId, gameId) => `/league/${enc(leagueId)}/game/${enc(gameId)}/stats`,
54
- /** An admin view; the dashboard is the bare page. */
55
39
  admin: (view) => withQuery('/admin', view === undefined || view === 'dashboard' ? [] : [[ADMIN_VIEW_PARAM, view]]),
56
- /** A league's admin workspace, on one of its sections when one is named. */
57
40
  adminLeague: (leagueId, section) => withQuery('/admin', adminLeagueEntries(leagueId, section)),
58
- /** One team's admin view, inside its league's workspace on the Teams section. */
59
41
  adminLeagueTeam: (leagueId, teamId) => withQuery('/admin', [
60
42
  ...adminLeagueEntries(leagueId, LEAGUE_TEAMS_SECTION),
61
43
  [ADMIN_TEAM_PARAM, teamId],
@@ -1 +1 @@
1
- {"version":3,"file":"app-routes.js","sourceRoot":"","sources":["../../src/paths/app-routes.ts"],"names":[],"mappings":"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","sourcesContent":["// Every app page address, declared once and built through `APP_ROUTES`. Both roots build these\n// links: the server writes one onto an admin notification card, and the app links to every one of\n// them, so each address shape has one change point (RULE-STD-ARCH-101). Every id is encoded, so an id\n// holding a `/` or a space still addresses its own page.\n\nimport type { AdminView } from '../constants/admin-views.js';\nimport type { SportKey } from '../types/sports.js';\n\n/** The query-string key the hall of fame names its sport under. */\nexport const HALL_OF_FAME_SPORT_PARAM = 'sport';\n\n/** The query-string key the admin page's views live under. */\nexport const ADMIN_VIEW_PARAM = 'view';\n\n/** The query-string key a league workspace's sections live under. */\nexport const ADMIN_SECTION_PARAM = 'section';\n\n/** The query-string key the Leagues view names the league whose workspace is open under. */\nexport const ADMIN_LEAGUE_PARAM = 'league';\n\n/** The query-string key the Teams section names the team whose admin view is open under. */\nexport const ADMIN_TEAM_PARAM = 'team';\n\n// The sections a league's admin workspace is addressed by. The workspace declares which of them it\n// has built as tabs; a link may name any of them.\nexport const ADMIN_LEAGUE_WORKSPACE_SECTION_KEYS = [\n 'settings',\n 'schedule',\n 'teams',\n 'free-agents',\n] as const;\nexport type AdminLeagueWorkspaceSection = (typeof ADMIN_LEAGUE_WORKSPACE_SECTION_KEYS)[number];\n\n/** The league workspace's section holding the league's weeks and games. */\nexport const LEAGUE_SCHEDULE_SECTION = 'schedule' satisfies AdminLeagueWorkspaceSection;\n\n/** The league workspace's section listing the league's teams, each opening its admin view. */\nexport const LEAGUE_TEAMS_SECTION = 'teams' satisfies AdminLeagueWorkspaceSection;\n\n/** The league workspace's section listing the league's free-agent signups. */\nexport const LEAGUE_FREE_AGENTS_SECTION = 'free-agents' satisfies AdminLeagueWorkspaceSection;\n\nconst enc = encodeURIComponent;\n\nfunction withQuery(path: string, entries: readonly (readonly [string, string])[]): string {\n if (entries.length === 0) return path;\n return `${path}?${entries.map(([key, value]) => `${key}=${enc(value)}`).join('&')}`;\n}\n\nfunction adminLeagueEntries(\n leagueId: string,\n section?: AdminLeagueWorkspaceSection,\n): (readonly [string, string])[] {\n return [\n [ADMIN_VIEW_PARAM, 'leagues' satisfies AdminView],\n [ADMIN_LEAGUE_PARAM, leagueId],\n ...(section === undefined ? [] : [[ADMIN_SECTION_PARAM, section] as const]),\n ];\n}\n\nexport const APP_ROUTES = {\n home: (): string => '/',\n hallOfFame: (sport?: SportKey): string =>\n withQuery('/hall-of-fame', sport === undefined ? [] : [[HALL_OF_FAME_SPORT_PARAM, sport]]),\n locations: (): string => '/locations',\n settings: (): string => '/settings',\n terms: (): string => '/terms',\n user: (userId: string): string => `/user/${enc(userId)}`,\n league: (leagueId: string): string => `/league/${enc(leagueId)}`,\n leagueTeam: (leagueId: string, teamId: string): string =>\n `/league/${enc(leagueId)}/team/${enc(teamId)}`,\n sportGame: (leagueId: string, gameId: string): string =>\n `/league/${enc(leagueId)}/game/${enc(gameId)}`,\n /** A game's scoring page, where a scorer records its stats. */\n sportGameScoring: (leagueId: string, gameId: string): string =>\n `/league/${enc(leagueId)}/game/${enc(gameId)}/stats`,\n /** An admin view; the dashboard is the bare page. */\n admin: (view?: AdminView): string =>\n withQuery(\n '/admin',\n view === undefined || view === 'dashboard' ? [] : [[ADMIN_VIEW_PARAM, view]],\n ),\n /** A league's admin workspace, on one of its sections when one is named. */\n adminLeague: (leagueId: string, section?: AdminLeagueWorkspaceSection): string =>\n withQuery('/admin', adminLeagueEntries(leagueId, section)),\n /** One team's admin view, inside its league's workspace on the Teams section. */\n adminLeagueTeam: (leagueId: string, teamId: string): string =>\n withQuery('/admin', [\n ...adminLeagueEntries(leagueId, LEAGUE_TEAMS_SECTION),\n [ADMIN_TEAM_PARAM, teamId],\n ]),\n} as const;\n"]}
1
+ {"version":3,"file":"app-routes.js","sourceRoot":"","sources":["../../src/paths/app-routes.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,wBAAwB,GAAG,OAAO,CAAC;AAEhD,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEvC,MAAM,CAAC,MAAM,mBAAmB,GAAG,SAAS,CAAC;AAE7C,MAAM,CAAC,MAAM,kBAAkB,GAAG,QAAQ,CAAC;AAE3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEvC,MAAM,CAAC,MAAM,mCAAmC,GAAG;IACjD,UAAU;IACV,UAAU;IACV,OAAO;IACP,aAAa;CACL,CAAC;AAGX,MAAM,CAAC,MAAM,uBAAuB,GAAG,UAAgD,CAAC;AAExF,MAAM,CAAC,MAAM,oBAAoB,GAAG,OAA6C,CAAC;AAElF,MAAM,CAAC,MAAM,0BAA0B,GAAG,aAAmD,CAAC;AAE9F,MAAM,GAAG,GAAG,kBAAkB,CAAC;AAE/B,SAAS,SAAS,CAAC,IAAY,EAAE,OAA+C;IAC9E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,OAAO,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACtF,CAAC;AAED,SAAS,kBAAkB,CACzB,QAAgB,EAChB,OAAqC;IAErC,OAAO;QACL,CAAC,gBAAgB,EAAE,SAA6B,CAAC;QACjD,CAAC,kBAAkB,EAAE,QAAQ,CAAC;QAC9B,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,OAAO,CAAU,CAAC,CAAC;KAC5E,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,GAAW,EAAE,CAAC,GAAG;IACvB,UAAU,EAAE,CAAC,KAAgB,EAAU,EAAE,CACvC,SAAS,CAAC,eAAe,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC,CAAC;IAC5F,SAAS,EAAE,GAAW,EAAE,CAAC,YAAY;IACrC,QAAQ,EAAE,GAAW,EAAE,CAAC,WAAW;IACnC,KAAK,EAAE,GAAW,EAAE,CAAC,QAAQ;IAC7B,IAAI,EAAE,CAAC,MAAc,EAAU,EAAE,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,EAAE;IACxD,MAAM,EAAE,CAAC,QAAgB,EAAU,EAAE,CAAC,WAAW,GAAG,CAAC,QAAQ,CAAC,EAAE;IAChE,UAAU,EAAE,CAAC,QAAgB,EAAE,MAAc,EAAU,EAAE,CACvD,WAAW,GAAG,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,EAAE;IAChD,SAAS,EAAE,CAAC,QAAgB,EAAE,MAAc,EAAU,EAAE,CACtD,WAAW,GAAG,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,EAAE;IAChD,gBAAgB,EAAE,CAAC,QAAgB,EAAE,MAAc,EAAU,EAAE,CAC7D,WAAW,GAAG,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,QAAQ;IACtD,KAAK,EAAE,CAAC,IAAgB,EAAU,EAAE,CAClC,SAAS,CACP,QAAQ,EACR,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAC7E;IACH,WAAW,EAAE,CAAC,QAAgB,EAAE,OAAqC,EAAU,EAAE,CAC/E,SAAS,CAAC,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5D,eAAe,EAAE,CAAC,QAAgB,EAAE,MAAc,EAAU,EAAE,CAC5D,SAAS,CAAC,QAAQ,EAAE;QAClB,GAAG,kBAAkB,CAAC,QAAQ,EAAE,oBAAoB,CAAC;QACrD,CAAC,gBAAgB,EAAE,MAAM,CAAC;KAC3B,CAAC;CACI,CAAC","sourcesContent":["import type { AdminView } from '../constants/admin-views.js';\nimport type { SportKey } from '../types/sports.js';\n\nexport const HALL_OF_FAME_SPORT_PARAM = 'sport';\n\nexport const ADMIN_VIEW_PARAM = 'view';\n\nexport const ADMIN_SECTION_PARAM = 'section';\n\nexport const ADMIN_LEAGUE_PARAM = 'league';\n\nexport const ADMIN_TEAM_PARAM = 'team';\n\nexport const ADMIN_LEAGUE_WORKSPACE_SECTION_KEYS = [\n 'settings',\n 'schedule',\n 'teams',\n 'free-agents',\n] as const;\nexport type AdminLeagueWorkspaceSection = (typeof ADMIN_LEAGUE_WORKSPACE_SECTION_KEYS)[number];\n\nexport const LEAGUE_SCHEDULE_SECTION = 'schedule' satisfies AdminLeagueWorkspaceSection;\n\nexport const LEAGUE_TEAMS_SECTION = 'teams' satisfies AdminLeagueWorkspaceSection;\n\nexport const LEAGUE_FREE_AGENTS_SECTION = 'free-agents' satisfies AdminLeagueWorkspaceSection;\n\nconst enc = encodeURIComponent;\n\nfunction withQuery(path: string, entries: readonly (readonly [string, string])[]): string {\n if (entries.length === 0) return path;\n return `${path}?${entries.map(([key, value]) => `${key}=${enc(value)}`).join('&')}`;\n}\n\nfunction adminLeagueEntries(\n leagueId: string,\n section?: AdminLeagueWorkspaceSection,\n): (readonly [string, string])[] {\n return [\n [ADMIN_VIEW_PARAM, 'leagues' satisfies AdminView],\n [ADMIN_LEAGUE_PARAM, leagueId],\n ...(section === undefined ? [] : [[ADMIN_SECTION_PARAM, section] as const]),\n ];\n}\n\nexport const APP_ROUTES = {\n home: (): string => '/',\n hallOfFame: (sport?: SportKey): string =>\n withQuery('/hall-of-fame', sport === undefined ? [] : [[HALL_OF_FAME_SPORT_PARAM, sport]]),\n locations: (): string => '/locations',\n settings: (): string => '/settings',\n terms: (): string => '/terms',\n user: (userId: string): string => `/user/${enc(userId)}`,\n league: (leagueId: string): string => `/league/${enc(leagueId)}`,\n leagueTeam: (leagueId: string, teamId: string): string =>\n `/league/${enc(leagueId)}/team/${enc(teamId)}`,\n sportGame: (leagueId: string, gameId: string): string =>\n `/league/${enc(leagueId)}/game/${enc(gameId)}`,\n sportGameScoring: (leagueId: string, gameId: string): string =>\n `/league/${enc(leagueId)}/game/${enc(gameId)}/stats`,\n admin: (view?: AdminView): string =>\n withQuery(\n '/admin',\n view === undefined || view === 'dashboard' ? [] : [[ADMIN_VIEW_PARAM, view]],\n ),\n adminLeague: (leagueId: string, section?: AdminLeagueWorkspaceSection): string =>\n withQuery('/admin', adminLeagueEntries(leagueId, section)),\n adminLeagueTeam: (leagueId: string, teamId: string): string =>\n withQuery('/admin', [\n ...adminLeagueEntries(leagueId, LEAGUE_TEAMS_SECTION),\n [ADMIN_TEAM_PARAM, teamId],\n ]),\n} as const;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"collection-groups.d.ts","sourceRoot":"","sources":["../../src/paths/collection-groups.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,iBAAiB;;;;CAKpB,CAAC"}
1
+ {"version":3,"file":"collection-groups.d.ts","sourceRoot":"","sources":["../../src/paths/collection-groups.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC"}
@@ -1,10 +1,5 @@
1
- // Collection group names — derived from the subcollection constants, never re-typed.
2
- //
3
- // Frontend: collectionGroup(db, COLLECTION_GROUPS.GAME_ROSTER_PLAYERS)
4
- // Backend: db.collectionGroup(COLLECTION_GROUPS.GAME_ROSTER_PLAYERS)
5
1
  import { AWARD_GROUP_GRANT_SUBCOLLECTIONS, SPORT_GAME_SUBCOLLECTIONS } from './collections.js';
6
2
  export const COLLECTION_GROUPS = {
7
- // Every grant's record of one person: a revoke asks whether another group's grant still holds them.
8
3
  AWARD_GROUP_GRANT_PEOPLE: AWARD_GROUP_GRANT_SUBCOLLECTIONS.AWARD_GROUP_GRANT_PEOPLE,
9
4
  GAME_ROSTER_PLAYERS: SPORT_GAME_SUBCOLLECTIONS.GAME_ROSTER_PLAYERS,
10
5
  GAME_STAT_EVENTS: SPORT_GAME_SUBCOLLECTIONS.GAME_STAT_EVENTS,
@@ -1 +1 @@
1
- {"version":3,"file":"collection-groups.js","sourceRoot":"","sources":["../../src/paths/collection-groups.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,EAAE;AACF,uEAAuE;AACvE,sEAAsE;AAEtE,OAAO,EAAE,gCAAgC,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAE/F,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,oGAAoG;IACpG,wBAAwB,EAAE,gCAAgC,CAAC,wBAAwB;IACnF,mBAAmB,EAAE,yBAAyB,CAAC,mBAAmB;IAClE,gBAAgB,EAAE,yBAAyB,CAAC,gBAAgB;CACpD,CAAC","sourcesContent":["// Collection group names — derived from the subcollection constants, never re-typed.\n//\n// Frontend: collectionGroup(db, COLLECTION_GROUPS.GAME_ROSTER_PLAYERS)\n// Backend: db.collectionGroup(COLLECTION_GROUPS.GAME_ROSTER_PLAYERS)\n\nimport { AWARD_GROUP_GRANT_SUBCOLLECTIONS, SPORT_GAME_SUBCOLLECTIONS } from './collections.js';\n\nexport const COLLECTION_GROUPS = {\n // Every grant's record of one person: a revoke asks whether another group's grant still holds them.\n AWARD_GROUP_GRANT_PEOPLE: AWARD_GROUP_GRANT_SUBCOLLECTIONS.AWARD_GROUP_GRANT_PEOPLE,\n GAME_ROSTER_PLAYERS: SPORT_GAME_SUBCOLLECTIONS.GAME_ROSTER_PLAYERS,\n GAME_STAT_EVENTS: SPORT_GAME_SUBCOLLECTIONS.GAME_STAT_EVENTS,\n} as const;\n"]}
1
+ {"version":3,"file":"collection-groups.js","sourceRoot":"","sources":["../../src/paths/collection-groups.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAE/F,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,wBAAwB,EAAE,gCAAgC,CAAC,wBAAwB;IACnF,mBAAmB,EAAE,yBAAyB,CAAC,mBAAmB;IAClE,gBAAgB,EAAE,yBAAyB,CAAC,gBAAgB;CACpD,CAAC","sourcesContent":["import { AWARD_GROUP_GRANT_SUBCOLLECTIONS, SPORT_GAME_SUBCOLLECTIONS } from './collections.js';\n\nexport const COLLECTION_GROUPS = {\n AWARD_GROUP_GRANT_PEOPLE: AWARD_GROUP_GRANT_SUBCOLLECTIONS.AWARD_GROUP_GRANT_PEOPLE,\n GAME_ROSTER_PLAYERS: SPORT_GAME_SUBCOLLECTIONS.GAME_ROSTER_PLAYERS,\n GAME_STAT_EVENTS: SPORT_GAME_SUBCOLLECTIONS.GAME_STAT_EVENTS,\n} as const;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"collection-refs.d.ts","sourceRoot":"","sources":["../../src/paths/collection-refs.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,eAAe;iCACR,CAAC,MAAM,CAAC;gCACT,CAAC,MAAM,CAAC;yCACC,CAAC,MAAM,CAAC;uCACV,CAAC,MAAM,CAAC;yCACN,CAAC,MAAM,CAAC;iCAChB,CAAC,MAAM,CAAC;gCACT,CAAC,MAAM,CAAC;uCACD,CAAC,MAAM,CAAC;oCACX,CAAC,MAAM,CAAC;oCACR,CAAC,MAAM,CAAC;qCACP,CAAC,MAAM,CAAC;qCACR,CAAC,MAAM,CAAC;0CACH,CAAC,MAAM,CAAC;+BACnB,CAAC,MAAM,CAAC;kCACL,CAAC,MAAM,CAAC;oCACN,CAAC,MAAM,CAAC;kCACV,CAAC,MAAM,CAAC;0CACA,CAAC,MAAM,CAAC;qCACb,CAAC,MAAM,CAAC;qCACR,CAAC,MAAM,CAAC;2CACF,CAAC,MAAM,CAAC;oCACf,CAAC,MAAM,CAAC;wCACJ,CAAC,MAAM,CAAC;oCACZ,CAAC,MAAM,CAAC;iCACX,CAAC,MAAM,CAAC;uCACF,CAAC,MAAM,CAAC;gCACf,CAAC,MAAM,CAAC;6CACK,CAAC,MAAM,CAAC;6CACR,CAAC,MAAM,CAAC;2CACV,CAAC,MAAM,CAAC;+CACJ,CAAC,MAAM,CAAC;CAChC,CAAC"}
1
+ {"version":3,"file":"collection-refs.d.ts","sourceRoot":"","sources":["../../src/paths/collection-refs.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe;iCACR,CAAC,MAAM,CAAC;gCACT,CAAC,MAAM,CAAC;yCACC,CAAC,MAAM,CAAC;uCACV,CAAC,MAAM,CAAC;yCACN,CAAC,MAAM,CAAC;iCAChB,CAAC,MAAM,CAAC;gCACT,CAAC,MAAM,CAAC;uCACD,CAAC,MAAM,CAAC;oCACX,CAAC,MAAM,CAAC;oCACR,CAAC,MAAM,CAAC;qCACP,CAAC,MAAM,CAAC;qCACR,CAAC,MAAM,CAAC;0CACH,CAAC,MAAM,CAAC;+BACnB,CAAC,MAAM,CAAC;kCACL,CAAC,MAAM,CAAC;oCACN,CAAC,MAAM,CAAC;kCACV,CAAC,MAAM,CAAC;0CACA,CAAC,MAAM,CAAC;qCACb,CAAC,MAAM,CAAC;qCACR,CAAC,MAAM,CAAC;2CACF,CAAC,MAAM,CAAC;oCACf,CAAC,MAAM,CAAC;wCACJ,CAAC,MAAM,CAAC;oCACZ,CAAC,MAAM,CAAC;iCACX,CAAC,MAAM,CAAC;uCACF,CAAC,MAAM,CAAC;gCACf,CAAC,MAAM,CAAC;6CACK,CAAC,MAAM,CAAC;6CACR,CAAC,MAAM,CAAC;2CACV,CAAC,MAAM,CAAC;+CACJ,CAAC,MAAM,CAAC;CAChC,CAAC"}
@@ -1,7 +1,3 @@
1
- // Collection reference builders — for collection-level operations.
2
- //
3
- // Frontend: collection(db, ...COLLECTION_REFS.userProfiles())
4
- // Backend: db.collection(toPath(COLLECTION_REFS.userProfiles()))
5
1
  import { COLLECTIONS } from './collections.js';
6
2
  export const COLLECTION_REFS = {
7
3
  userProfiles: () => [COLLECTIONS.USER_PROFILES],
@@ -1 +1 @@
1
- {"version":3,"file":"collection-refs.js","sourceRoot":"","sources":["../../src/paths/collection-refs.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,EAAE;AACF,8DAA8D;AAC9D,kEAAkE;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,YAAY,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC;IACzD,WAAW,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC;IACvD,oBAAoB,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,sBAAsB,CAAC;IAC1E,kBAAkB,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,mBAAmB,CAAC;IACrE,oBAAoB,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,sBAAsB,CAAC;IAC1E,YAAY,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC;IACzD,WAAW,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC;IACvD,kBAAkB,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,oBAAoB,CAAC;IACtE,eAAe,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC;IAC/D,eAAe,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC;IAC/D,gBAAgB,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC;IAClE,gBAAgB,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC;IAClE,qBAAqB,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC;IAC5E,UAAU,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC;IACrD,aAAa,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC;IAC3D,eAAe,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC;IAC/D,aAAa,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC;IAC3D,qBAAqB,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC;IAC5E,gBAAgB,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC;IACjE,gBAAgB,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC;IAClE,sBAAsB,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,wBAAwB,CAAC;IAC9E,eAAe,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC;IAC/D,mBAAmB,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,qBAAqB,CAAC;IACxE,eAAe,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC;IAC/D,YAAY,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC;IACzD,kBAAkB,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,mBAAmB,CAAC;IACrE,WAAW,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC;IACvD,wBAAwB,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,0BAA0B,CAAC;IAClF,wBAAwB,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,0BAA0B,CAAC;IAClF,sBAAsB,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC;IAC7E,0BAA0B,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,6BAA6B,CAAC;CAC/E,CAAC","sourcesContent":["// Collection reference builders — for collection-level operations.\n//\n// Frontend: collection(db, ...COLLECTION_REFS.userProfiles())\n// Backend: db.collection(toPath(COLLECTION_REFS.userProfiles()))\n\nimport { COLLECTIONS } from './collections.js';\n\nexport const COLLECTION_REFS = {\n userProfiles: (): [string] => [COLLECTIONS.USER_PROFILES],\n publicUsers: (): [string] => [COLLECTIONS.PUBLIC_USERS],\n statusReconcileQueue: (): [string] => [COLLECTIONS.STATUS_RECONCILE_QUEUE],\n registrationStarts: (): [string] => [COLLECTIONS.REGISTRATION_STARTS],\n reservedDisplayNames: (): [string] => [COLLECTIONS.RESERVED_DISPLAY_NAMES],\n sportLeagues: (): [string] => [COLLECTIONS.SPORT_LEAGUES],\n leagueTeams: (): [string] => [COLLECTIONS.LEAGUE_TEAMS],\n leagueTeamContacts: (): [string] => [COLLECTIONS.LEAGUE_TEAM_CONTACTS],\n teamMemberships: (): [string] => [COLLECTIONS.TEAM_MEMBERSHIPS],\n teamInvitations: (): [string] => [COLLECTIONS.TEAM_INVITATIONS],\n teamJoinRequests: (): [string] => [COLLECTIONS.TEAM_JOIN_REQUESTS],\n leagueFreeAgents: (): [string] => [COLLECTIONS.LEAGUE_FREE_AGENTS],\n membershipRosterSyncs: (): [string] => [COLLECTIONS.MEMBERSHIP_ROSTER_SYNCS],\n sportGames: (): [string] => [COLLECTIONS.SPORT_GAMES],\n gameLocations: (): [string] => [COLLECTIONS.GAME_LOCATIONS],\n waiverTemplates: (): [string] => [COLLECTIONS.WAIVER_TEMPLATES],\n signedWaivers: (): [string] => [COLLECTIONS.SIGNED_WAIVERS],\n hardwareLoanContracts: (): [string] => [COLLECTIONS.HARDWARE_LOAN_CONTRACTS],\n awardDefinitions: (): [string] => [COLLECTIONS.AWARD_DEFINITIONS],\n awardGroupGrants: (): [string] => [COLLECTIONS.AWARD_GROUP_GRANTS],\n statsValidationReports: (): [string] => [COLLECTIONS.STATS_VALIDATION_REPORTS],\n statsOperations: (): [string] => [COLLECTIONS.STATS_OPERATIONS],\n migrationActionRuns: (): [string] => [COLLECTIONS.MIGRATION_ACTION_RUNS],\n galleryPictures: (): [string] => [COLLECTIONS.GALLERY_PICTURES],\n pendingMedia: (): [string] => [COLLECTIONS.PENDING_MEDIA],\n pictureRetirements: (): [string] => [COLLECTIONS.PICTURE_RETIREMENTS],\n auditEvents: (): [string] => [COLLECTIONS.AUDIT_EVENTS],\n activeAdminNotifications: (): [string] => [COLLECTIONS.ACTIVE_ADMIN_NOTIFICATIONS],\n adminNotificationHistory: (): [string] => [COLLECTIONS.ADMIN_NOTIFICATION_HISTORY],\n notificationDeliveries: (): [string] => [COLLECTIONS.NOTIFICATION_DELIVERIES],\n notificationArchiveAllJobs: (): [string] => [COLLECTIONS.NOTIFICATION_ARCHIVE_ALL_JOBS],\n} as const;\n"]}
1
+ {"version":3,"file":"collection-refs.js","sourceRoot":"","sources":["../../src/paths/collection-refs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,YAAY,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC;IACzD,WAAW,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC;IACvD,oBAAoB,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,sBAAsB,CAAC;IAC1E,kBAAkB,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,mBAAmB,CAAC;IACrE,oBAAoB,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,sBAAsB,CAAC;IAC1E,YAAY,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC;IACzD,WAAW,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC;IACvD,kBAAkB,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,oBAAoB,CAAC;IACtE,eAAe,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC;IAC/D,eAAe,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC;IAC/D,gBAAgB,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC;IAClE,gBAAgB,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC;IAClE,qBAAqB,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC;IAC5E,UAAU,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC;IACrD,aAAa,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC;IAC3D,eAAe,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC;IAC/D,aAAa,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC;IAC3D,qBAAqB,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC;IAC5E,gBAAgB,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC;IACjE,gBAAgB,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC;IAClE,sBAAsB,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,wBAAwB,CAAC;IAC9E,eAAe,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC;IAC/D,mBAAmB,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,qBAAqB,CAAC;IACxE,eAAe,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC;IAC/D,YAAY,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC;IACzD,kBAAkB,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,mBAAmB,CAAC;IACrE,WAAW,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC;IACvD,wBAAwB,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,0BAA0B,CAAC;IAClF,wBAAwB,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,0BAA0B,CAAC;IAClF,sBAAsB,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC;IAC7E,0BAA0B,EAAE,GAAa,EAAE,CAAC,CAAC,WAAW,CAAC,6BAA6B,CAAC;CAC/E,CAAC","sourcesContent":["import { COLLECTIONS } from './collections.js';\n\nexport const COLLECTION_REFS = {\n userProfiles: (): [string] => [COLLECTIONS.USER_PROFILES],\n publicUsers: (): [string] => [COLLECTIONS.PUBLIC_USERS],\n statusReconcileQueue: (): [string] => [COLLECTIONS.STATUS_RECONCILE_QUEUE],\n registrationStarts: (): [string] => [COLLECTIONS.REGISTRATION_STARTS],\n reservedDisplayNames: (): [string] => [COLLECTIONS.RESERVED_DISPLAY_NAMES],\n sportLeagues: (): [string] => [COLLECTIONS.SPORT_LEAGUES],\n leagueTeams: (): [string] => [COLLECTIONS.LEAGUE_TEAMS],\n leagueTeamContacts: (): [string] => [COLLECTIONS.LEAGUE_TEAM_CONTACTS],\n teamMemberships: (): [string] => [COLLECTIONS.TEAM_MEMBERSHIPS],\n teamInvitations: (): [string] => [COLLECTIONS.TEAM_INVITATIONS],\n teamJoinRequests: (): [string] => [COLLECTIONS.TEAM_JOIN_REQUESTS],\n leagueFreeAgents: (): [string] => [COLLECTIONS.LEAGUE_FREE_AGENTS],\n membershipRosterSyncs: (): [string] => [COLLECTIONS.MEMBERSHIP_ROSTER_SYNCS],\n sportGames: (): [string] => [COLLECTIONS.SPORT_GAMES],\n gameLocations: (): [string] => [COLLECTIONS.GAME_LOCATIONS],\n waiverTemplates: (): [string] => [COLLECTIONS.WAIVER_TEMPLATES],\n signedWaivers: (): [string] => [COLLECTIONS.SIGNED_WAIVERS],\n hardwareLoanContracts: (): [string] => [COLLECTIONS.HARDWARE_LOAN_CONTRACTS],\n awardDefinitions: (): [string] => [COLLECTIONS.AWARD_DEFINITIONS],\n awardGroupGrants: (): [string] => [COLLECTIONS.AWARD_GROUP_GRANTS],\n statsValidationReports: (): [string] => [COLLECTIONS.STATS_VALIDATION_REPORTS],\n statsOperations: (): [string] => [COLLECTIONS.STATS_OPERATIONS],\n migrationActionRuns: (): [string] => [COLLECTIONS.MIGRATION_ACTION_RUNS],\n galleryPictures: (): [string] => [COLLECTIONS.GALLERY_PICTURES],\n pendingMedia: (): [string] => [COLLECTIONS.PENDING_MEDIA],\n pictureRetirements: (): [string] => [COLLECTIONS.PICTURE_RETIREMENTS],\n auditEvents: (): [string] => [COLLECTIONS.AUDIT_EVENTS],\n activeAdminNotifications: (): [string] => [COLLECTIONS.ACTIVE_ADMIN_NOTIFICATIONS],\n adminNotificationHistory: (): [string] => [COLLECTIONS.ADMIN_NOTIFICATION_HISTORY],\n notificationDeliveries: (): [string] => [COLLECTIONS.NOTIFICATION_DELIVERIES],\n notificationArchiveAllJobs: (): [string] => [COLLECTIONS.NOTIFICATION_ARCHIVE_ALL_JOBS],\n} as const;\n"]}
@@ -37,26 +37,21 @@ export declare const COLLECTIONS: {
37
37
  readonly SERVER_DATA: "_serverData";
38
38
  };
39
39
  export type CollectionName = (typeof COLLECTIONS)[keyof typeof COLLECTIONS];
40
- /** Subcollections of `userProfiles/{userId}`. */
41
40
  export declare const USER_PROFILE_SUBCOLLECTIONS: {
42
41
  readonly HISTORICAL_STATS: "historicalStats";
43
42
  readonly PRIVATE_DATA: "privateData";
44
43
  };
45
- /** Subcollections of `sportGames/{gameId}`. */
46
44
  export declare const SPORT_GAME_SUBCOLLECTIONS: {
47
45
  readonly GAME_ROSTER_PLAYERS: "gameRosterPlayers";
48
46
  readonly GAME_STAT_EVENTS: "gameStatEvents";
49
47
  readonly GAME_STAT_HISTORY: "gameStatHistory";
50
48
  };
51
- /** Subcollections of `waiverTemplates/{waiverTemplateId}`. */
52
49
  export declare const WAIVER_TEMPLATE_SUBCOLLECTIONS: {
53
50
  readonly WAIVER_TEMPLATE_VERSIONS: "waiverTemplateVersions";
54
51
  };
55
- /** Subcollections of `awardGroupGrants/{grantId}`. */
56
52
  export declare const AWARD_GROUP_GRANT_SUBCOLLECTIONS: {
57
53
  readonly AWARD_GROUP_GRANT_PEOPLE: "awardGroupGrantPeople";
58
54
  };
59
- /** Static document IDs for fixed-ID documents. */
60
55
  export declare const SPECIAL_DOCS: {
61
56
  readonly APP_CONFIG: "app";
62
57
  readonly LANDING_PAGE: "landingPage";
@@ -1 +1 @@
1
- {"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../../src/paths/collections.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiFd,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAE5E,iDAAiD;AACjD,eAAO,MAAM,2BAA2B;;;CAM9B,CAAC;AAEX,+CAA+C;AAC/C,eAAO,MAAM,yBAAyB;;;;CAO5B,CAAC;AAEX,8DAA8D;AAC9D,eAAO,MAAM,8BAA8B;;CAGjC,CAAC;AAEX,sDAAsD;AACtD,eAAO,MAAM,gCAAgC;;CAGnC,CAAC;AAEX,kDAAkD;AAClD,eAAO,MAAM,YAAY;;;;;;;;CAqBf,CAAC"}
1
+ {"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../../src/paths/collections.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8Cd,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAE5E,eAAO,MAAM,2BAA2B;;;CAG9B,CAAC;AAEX,eAAO,MAAM,yBAAyB;;;;CAI5B,CAAC;AAEX,eAAO,MAAM,8BAA8B;;CAEjC,CAAC;AAEX,eAAO,MAAM,gCAAgC;;CAEnC,CAAC;AAEX,eAAO,MAAM,YAAY;;;;;;;;CAUf,CAAC"}
@@ -1,131 +1,63 @@
1
- // Firestore collection, subcollection, and fixed-document name constants for Q-Sports.
2
- //
3
- // Every collection value is compound camelCase — it says what the documents are, never a single
4
- // bare word (guarded by __tests__/collections.test.ts). The three underscore buckets hold fixed-ID
5
- // system documents and are placed by who reads them; every one of them is callable-only for writes
6
- // (RULE-STD-BACKEND-108). An admin-only document is server-only, read by an admin through a callable:
7
- // _appConfig public read
8
- // _systemData signed-in read
9
- // _serverData no client access
10
1
  export const COLLECTIONS = {
11
- // People
12
2
  USER_PROFILES: 'userProfiles',
13
3
  PUBLIC_USERS: 'publicUsers',
14
- // One document per taken display name, keyed by its normalized form — the uniqueness lock.
15
4
  RESERVED_DISPLAY_NAMES: 'reservedDisplayNames',
16
- // One entry per account owed a post-commit Firebase Auth effect, id = the userId: a status
17
- // change's sign-in half, or a failed role-claim write. Backend-only.
18
5
  STATUS_RECONCILE_QUEUE: 'statusReconcileQueue',
19
- // One document per login whose registration started, id = the userId: the orphan-login cleanup's
20
- // work list. Backend-only.
21
6
  REGISTRATION_STARTS: 'registrationStarts',
22
- // One document per scheduled pass that keeps a rolling cursor, id = its `SWEEP_STATE_NAMES` name.
23
- // Backend-only.
24
7
  SWEEP_STATE: 'sweepState',
25
- // Leagues, teams, membership
26
8
  SPORT_LEAGUES: 'sportLeagues',
27
9
  LEAGUE_TEAMS: 'leagueTeams',
28
- // One admin-only document per team, id = the team id: how the league reaches the team. The team
29
- // itself is publicly readable, so no contact detail lives on it (RULE-STD-BACKEND-105); a league's contacts
30
- // are one query on `leagueId`.
31
10
  LEAGUE_TEAM_CONTACTS: 'leagueTeamContacts',
32
11
  TEAM_MEMBERSHIPS: 'teamMemberships',
33
12
  TEAM_INVITATIONS: 'teamInvitations',
34
13
  TEAM_JOIN_REQUESTS: 'teamJoinRequests',
35
14
  LEAGUE_FREE_AGENTS: 'leagueFreeAgents',
36
- // One document per team membership, id = the membership's id: the durable obligation to bring
37
- // that membership's open game rosters in line with it. Backend-only.
38
15
  MEMBERSHIP_ROSTER_SYNCS: 'membershipRosterSyncs',
39
- // Games
40
16
  SPORT_GAMES: 'sportGames',
41
17
  GAME_LOCATIONS: 'gameLocations',
42
- // Waivers and hardware
43
18
  WAIVER_TEMPLATES: 'waiverTemplates',
44
19
  SIGNED_WAIVERS: 'signedWaivers',
45
20
  HARDWARE_LOAN_CONTRACTS: 'hardwareLoanContracts',
46
- // Awards and derived stats
47
21
  AWARD_DEFINITIONS: 'awardDefinitions',
48
- // One decision on one award for one group — a team, or a whole league — granted or taken back a
49
- // page of people at a time, id `buildAwardGroupGrantId`. Backend-only.
50
22
  AWARD_GROUP_GRANTS: 'awardGroupGrants',
51
23
  SPORT_HALL_OF_FAME: 'sportHallOfFame',
52
24
  STATS_VALIDATION_REPORTS: 'statsValidationReports',
53
- // One logical run of a stats action: its status, its resume position, and the hold it places on
54
- // a game. Admin read; written only by the stats cores.
55
25
  STATS_OPERATIONS: 'statsOperations',
56
- // One document per cutover action, id = the action id: where its latest real run stands, its
57
- // last preview, and what it reported. Admin read; written only by the migration console.
58
26
  MIGRATION_ACTION_RUNS: 'migrationActionRuns',
59
- // One document per picture in a league, team, or landing page gallery. Public read; written only
60
- // by the picture core.
61
27
  GALLERY_PICTURES: 'galleryPictures',
62
- // One accepted picture upload, id = its staging id = the picture id. Read by its uploader and
63
- // admins; written only by the accept core (the upload callable and the picture carry), the
64
- // processing trigger, and the maintenance sweep's stale-upload pass; never deleted.
65
28
  PENDING_MEDIA: 'pendingMedia',
66
- // The durable obligation to delete a picture's files, or a deleted owner's whole gallery. No
67
- // client access; carried out by the media maintenance sweep.
68
29
  PICTURE_RETIREMENTS: 'pictureRetirements',
69
- // Append-only record of sensitive actions. No client access; written only by Cloud Functions.
70
30
  AUDIT_EVENTS: 'auditEvents',
71
- // Admin notifications, all written only by Cloud Functions. The shared cards every admin reads and
72
- // their archived history are admin read; the delivery ledger the owning callables write each
73
- // occurrence into, and each admin's archive-all job, have no client access.
74
31
  ACTIVE_ADMIN_NOTIFICATIONS: 'activeAdminNotifications',
75
32
  ADMIN_NOTIFICATION_HISTORY: 'adminNotificationHistory',
76
33
  NOTIFICATION_DELIVERIES: 'notificationDeliveries',
77
34
  NOTIFICATION_ARCHIVE_ALL_JOBS: 'notificationArchiveAllJobs',
78
- // Fixed-ID system document buckets
79
35
  APP_CONFIG: '_appConfig',
80
36
  SYSTEM_DATA: '_systemData',
81
37
  SERVER_DATA: '_serverData',
82
38
  };
83
- /** Subcollections of `userProfiles/{userId}`. */
84
39
  export const USER_PROFILE_SUBCOLLECTIONS = {
85
- // One document per sport key: pre-Q-Sports career totals folded into lifetime recalculation.
86
40
  HISTORICAL_STATS: 'historicalStats',
87
- // One owner-only document, id = the userId: email and contact details. The profile itself is
88
- // publicly readable, so nothing personal lives on it (RULE-STD-BACKEND-105).
89
41
  PRIVATE_DATA: 'privateData',
90
42
  };
91
- /** Subcollections of `sportGames/{gameId}`. */
92
43
  export const SPORT_GAME_SUBCOLLECTIONS = {
93
- // Who participated in the game: one entry per team per person, id `buildGameRosterPlayerId`.
94
44
  GAME_ROSTER_PLAYERS: 'gameRosterPlayers',
95
- // One stat event per document, keyed by the event id minted at the tap.
96
45
  GAME_STAT_EVENTS: 'gameStatEvents',
97
- // A completed game's finalized record, in pages, id `buildStatHistoryPageId`.
98
46
  GAME_STAT_HISTORY: 'gameStatHistory',
99
47
  };
100
- /** Subcollections of `waiverTemplates/{waiverTemplateId}`. */
101
48
  export const WAIVER_TEMPLATE_SUBCOLLECTIONS = {
102
- // One immutable document per published wording, id `buildWaiverTemplateVersionId(version)`.
103
49
  WAIVER_TEMPLATE_VERSIONS: 'waiverTemplateVersions',
104
50
  };
105
- /** Subcollections of `awardGroupGrants/{grantId}`. */
106
51
  export const AWARD_GROUP_GRANT_SUBCOLLECTIONS = {
107
- // One document per person the grant reached, id = the userId, recorded before their profile changed.
108
52
  AWARD_GROUP_GRANT_PEOPLE: 'awardGroupGrantPeople',
109
53
  };
110
- /** Static document IDs for fixed-ID documents. */
111
54
  export const SPECIAL_DOCS = {
112
- // _appConfig — public read
113
- // The app-wide operational levers: version gate, maintenance mode, registration switch, banner.
114
55
  APP_CONFIG: 'app',
115
56
  LANDING_PAGE: 'landingPage',
116
- // Public because signed-out spectators follow it for live updates.
117
57
  STATS_BEACON: 'statsBeacon',
118
- // _systemData — signed-in read
119
- // The admin and referee rosters — source of truth for the `admin` / `referee` custom claims.
120
58
  ADMIN_LIST: 'adminList',
121
- // _serverData — no client access
122
- // The migration console: the cutover marker and the lock that keeps two actions from running at
123
- // once.
124
59
  MIGRATION_CONSOLE: 'migrationConsole',
125
- // The fence every venue creation writes, so two creations at MAX_GAME_LOCATIONS conflict.
126
60
  GAME_LOCATION_REGISTRY: 'gameLocationRegistry',
127
- // The fence every waiver-template creation writes, so two creations at MAX_OFFERED_WAIVER_TEMPLATES
128
- // conflict.
129
61
  WAIVER_TEMPLATE_REGISTRY: 'waiverTemplateRegistry',
130
62
  };
131
63
  //# sourceMappingURL=collections.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"collections.js","sourceRoot":"","sources":["../../src/paths/collections.ts"],"names":[],"mappings":"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","sourcesContent":["// Firestore collection, subcollection, and fixed-document name constants for Q-Sports.\n//\n// Every collection value is compound camelCase — it says what the documents are, never a single\n// bare word (guarded by __tests__/collections.test.ts). The three underscore buckets hold fixed-ID\n// system documents and are placed by who reads them; every one of them is callable-only for writes\n// (RULE-STD-BACKEND-108). An admin-only document is server-only, read by an admin through a callable:\n// _appConfig public read\n// _systemData signed-in read\n// _serverData no client access\n\nexport const COLLECTIONS = {\n // People\n USER_PROFILES: 'userProfiles',\n PUBLIC_USERS: 'publicUsers',\n // One document per taken display name, keyed by its normalized form — the uniqueness lock.\n RESERVED_DISPLAY_NAMES: 'reservedDisplayNames',\n // One entry per account owed a post-commit Firebase Auth effect, id = the userId: a status\n // change's sign-in half, or a failed role-claim write. Backend-only.\n STATUS_RECONCILE_QUEUE: 'statusReconcileQueue',\n // One document per login whose registration started, id = the userId: the orphan-login cleanup's\n // work list. Backend-only.\n REGISTRATION_STARTS: 'registrationStarts',\n // One document per scheduled pass that keeps a rolling cursor, id = its `SWEEP_STATE_NAMES` name.\n // Backend-only.\n SWEEP_STATE: 'sweepState',\n\n // Leagues, teams, membership\n SPORT_LEAGUES: 'sportLeagues',\n LEAGUE_TEAMS: 'leagueTeams',\n // One admin-only document per team, id = the team id: how the league reaches the team. The team\n // itself is publicly readable, so no contact detail lives on it (RULE-STD-BACKEND-105); a league's contacts\n // are one query on `leagueId`.\n LEAGUE_TEAM_CONTACTS: 'leagueTeamContacts',\n TEAM_MEMBERSHIPS: 'teamMemberships',\n TEAM_INVITATIONS: 'teamInvitations',\n TEAM_JOIN_REQUESTS: 'teamJoinRequests',\n LEAGUE_FREE_AGENTS: 'leagueFreeAgents',\n // One document per team membership, id = the membership's id: the durable obligation to bring\n // that membership's open game rosters in line with it. Backend-only.\n MEMBERSHIP_ROSTER_SYNCS: 'membershipRosterSyncs',\n\n // Games\n SPORT_GAMES: 'sportGames',\n GAME_LOCATIONS: 'gameLocations',\n\n // Waivers and hardware\n WAIVER_TEMPLATES: 'waiverTemplates',\n SIGNED_WAIVERS: 'signedWaivers',\n HARDWARE_LOAN_CONTRACTS: 'hardwareLoanContracts',\n\n // Awards and derived stats\n AWARD_DEFINITIONS: 'awardDefinitions',\n // One decision on one award for one group — a team, or a whole league — granted or taken back a\n // page of people at a time, id `buildAwardGroupGrantId`. Backend-only.\n AWARD_GROUP_GRANTS: 'awardGroupGrants',\n SPORT_HALL_OF_FAME: 'sportHallOfFame',\n STATS_VALIDATION_REPORTS: 'statsValidationReports',\n // One logical run of a stats action: its status, its resume position, and the hold it places on\n // a game. Admin read; written only by the stats cores.\n STATS_OPERATIONS: 'statsOperations',\n\n // One document per cutover action, id = the action id: where its latest real run stands, its\n // last preview, and what it reported. Admin read; written only by the migration console.\n MIGRATION_ACTION_RUNS: 'migrationActionRuns',\n\n // One document per picture in a league, team, or landing page gallery. Public read; written only\n // by the picture core.\n GALLERY_PICTURES: 'galleryPictures',\n // One accepted picture upload, id = its staging id = the picture id. Read by its uploader and\n // admins; written only by the accept core (the upload callable and the picture carry), the\n // processing trigger, and the maintenance sweep's stale-upload pass; never deleted.\n PENDING_MEDIA: 'pendingMedia',\n // The durable obligation to delete a picture's files, or a deleted owner's whole gallery. No\n // client access; carried out by the media maintenance sweep.\n PICTURE_RETIREMENTS: 'pictureRetirements',\n\n // Append-only record of sensitive actions. No client access; written only by Cloud Functions.\n AUDIT_EVENTS: 'auditEvents',\n\n // Admin notifications, all written only by Cloud Functions. The shared cards every admin reads and\n // their archived history are admin read; the delivery ledger the owning callables write each\n // occurrence into, and each admin's archive-all job, have no client access.\n ACTIVE_ADMIN_NOTIFICATIONS: 'activeAdminNotifications',\n ADMIN_NOTIFICATION_HISTORY: 'adminNotificationHistory',\n NOTIFICATION_DELIVERIES: 'notificationDeliveries',\n NOTIFICATION_ARCHIVE_ALL_JOBS: 'notificationArchiveAllJobs',\n\n // Fixed-ID system document buckets\n APP_CONFIG: '_appConfig',\n SYSTEM_DATA: '_systemData',\n SERVER_DATA: '_serverData',\n} as const;\n\nexport type CollectionName = (typeof COLLECTIONS)[keyof typeof COLLECTIONS];\n\n/** Subcollections of `userProfiles/{userId}`. */\nexport const USER_PROFILE_SUBCOLLECTIONS = {\n // One document per sport key: pre-Q-Sports career totals folded into lifetime recalculation.\n HISTORICAL_STATS: 'historicalStats',\n // One owner-only document, id = the userId: email and contact details. The profile itself is\n // publicly readable, so nothing personal lives on it (RULE-STD-BACKEND-105).\n PRIVATE_DATA: 'privateData',\n} as const;\n\n/** Subcollections of `sportGames/{gameId}`. */\nexport const SPORT_GAME_SUBCOLLECTIONS = {\n // Who participated in the game: one entry per team per person, id `buildGameRosterPlayerId`.\n GAME_ROSTER_PLAYERS: 'gameRosterPlayers',\n // One stat event per document, keyed by the event id minted at the tap.\n GAME_STAT_EVENTS: 'gameStatEvents',\n // A completed game's finalized record, in pages, id `buildStatHistoryPageId`.\n GAME_STAT_HISTORY: 'gameStatHistory',\n} as const;\n\n/** Subcollections of `waiverTemplates/{waiverTemplateId}`. */\nexport const WAIVER_TEMPLATE_SUBCOLLECTIONS = {\n // One immutable document per published wording, id `buildWaiverTemplateVersionId(version)`.\n WAIVER_TEMPLATE_VERSIONS: 'waiverTemplateVersions',\n} as const;\n\n/** Subcollections of `awardGroupGrants/{grantId}`. */\nexport const AWARD_GROUP_GRANT_SUBCOLLECTIONS = {\n // One document per person the grant reached, id = the userId, recorded before their profile changed.\n AWARD_GROUP_GRANT_PEOPLE: 'awardGroupGrantPeople',\n} as const;\n\n/** Static document IDs for fixed-ID documents. */\nexport const SPECIAL_DOCS = {\n // _appConfig — public read\n // The app-wide operational levers: version gate, maintenance mode, registration switch, banner.\n APP_CONFIG: 'app',\n LANDING_PAGE: 'landingPage',\n // Public because signed-out spectators follow it for live updates.\n STATS_BEACON: 'statsBeacon',\n\n // _systemData — signed-in read\n // The admin and referee rosters — source of truth for the `admin` / `referee` custom claims.\n ADMIN_LIST: 'adminList',\n\n // _serverData — no client access\n // The migration console: the cutover marker and the lock that keeps two actions from running at\n // once.\n MIGRATION_CONSOLE: 'migrationConsole',\n // The fence every venue creation writes, so two creations at MAX_GAME_LOCATIONS conflict.\n GAME_LOCATION_REGISTRY: 'gameLocationRegistry',\n // The fence every waiver-template creation writes, so two creations at MAX_OFFERED_WAIVER_TEMPLATES\n // conflict.\n WAIVER_TEMPLATE_REGISTRY: 'waiverTemplateRegistry',\n} as const;\n"]}
1
+ {"version":3,"file":"collections.js","sourceRoot":"","sources":["../../src/paths/collections.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,aAAa,EAAE,cAAc;IAC7B,YAAY,EAAE,aAAa;IAC3B,sBAAsB,EAAE,sBAAsB;IAC9C,sBAAsB,EAAE,sBAAsB;IAC9C,mBAAmB,EAAE,oBAAoB;IACzC,WAAW,EAAE,YAAY;IAEzB,aAAa,EAAE,cAAc;IAC7B,YAAY,EAAE,aAAa;IAC3B,oBAAoB,EAAE,oBAAoB;IAC1C,gBAAgB,EAAE,iBAAiB;IACnC,gBAAgB,EAAE,iBAAiB;IACnC,kBAAkB,EAAE,kBAAkB;IACtC,kBAAkB,EAAE,kBAAkB;IACtC,uBAAuB,EAAE,uBAAuB;IAEhD,WAAW,EAAE,YAAY;IACzB,cAAc,EAAE,eAAe;IAE/B,gBAAgB,EAAE,iBAAiB;IACnC,cAAc,EAAE,eAAe;IAC/B,uBAAuB,EAAE,uBAAuB;IAEhD,iBAAiB,EAAE,kBAAkB;IACrC,kBAAkB,EAAE,kBAAkB;IACtC,kBAAkB,EAAE,iBAAiB;IACrC,wBAAwB,EAAE,wBAAwB;IAClD,gBAAgB,EAAE,iBAAiB;IAEnC,qBAAqB,EAAE,qBAAqB;IAE5C,gBAAgB,EAAE,iBAAiB;IACnC,aAAa,EAAE,cAAc;IAC7B,mBAAmB,EAAE,oBAAoB;IAEzC,YAAY,EAAE,aAAa;IAE3B,0BAA0B,EAAE,0BAA0B;IACtD,0BAA0B,EAAE,0BAA0B;IACtD,uBAAuB,EAAE,wBAAwB;IACjD,6BAA6B,EAAE,4BAA4B;IAE3D,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;CAClB,CAAC;AAIX,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,gBAAgB,EAAE,iBAAiB;IACnC,YAAY,EAAE,aAAa;CACnB,CAAC;AAEX,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,mBAAmB,EAAE,mBAAmB;IACxC,gBAAgB,EAAE,gBAAgB;IAClC,iBAAiB,EAAE,iBAAiB;CAC5B,CAAC;AAEX,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,wBAAwB,EAAE,wBAAwB;CAC1C,CAAC;AAEX,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,wBAAwB,EAAE,uBAAuB;CACzC,CAAC;AAEX,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE,aAAa;IAC3B,YAAY,EAAE,aAAa;IAE3B,UAAU,EAAE,WAAW;IAEvB,iBAAiB,EAAE,kBAAkB;IACrC,sBAAsB,EAAE,sBAAsB;IAC9C,wBAAwB,EAAE,wBAAwB;CAC1C,CAAC","sourcesContent":["export const COLLECTIONS = {\n USER_PROFILES: 'userProfiles',\n PUBLIC_USERS: 'publicUsers',\n RESERVED_DISPLAY_NAMES: 'reservedDisplayNames',\n STATUS_RECONCILE_QUEUE: 'statusReconcileQueue',\n REGISTRATION_STARTS: 'registrationStarts',\n SWEEP_STATE: 'sweepState',\n\n SPORT_LEAGUES: 'sportLeagues',\n LEAGUE_TEAMS: 'leagueTeams',\n LEAGUE_TEAM_CONTACTS: 'leagueTeamContacts',\n TEAM_MEMBERSHIPS: 'teamMemberships',\n TEAM_INVITATIONS: 'teamInvitations',\n TEAM_JOIN_REQUESTS: 'teamJoinRequests',\n LEAGUE_FREE_AGENTS: 'leagueFreeAgents',\n MEMBERSHIP_ROSTER_SYNCS: 'membershipRosterSyncs',\n\n SPORT_GAMES: 'sportGames',\n GAME_LOCATIONS: 'gameLocations',\n\n WAIVER_TEMPLATES: 'waiverTemplates',\n SIGNED_WAIVERS: 'signedWaivers',\n HARDWARE_LOAN_CONTRACTS: 'hardwareLoanContracts',\n\n AWARD_DEFINITIONS: 'awardDefinitions',\n AWARD_GROUP_GRANTS: 'awardGroupGrants',\n SPORT_HALL_OF_FAME: 'sportHallOfFame',\n STATS_VALIDATION_REPORTS: 'statsValidationReports',\n STATS_OPERATIONS: 'statsOperations',\n\n MIGRATION_ACTION_RUNS: 'migrationActionRuns',\n\n GALLERY_PICTURES: 'galleryPictures',\n PENDING_MEDIA: 'pendingMedia',\n PICTURE_RETIREMENTS: 'pictureRetirements',\n\n AUDIT_EVENTS: 'auditEvents',\n\n ACTIVE_ADMIN_NOTIFICATIONS: 'activeAdminNotifications',\n ADMIN_NOTIFICATION_HISTORY: 'adminNotificationHistory',\n NOTIFICATION_DELIVERIES: 'notificationDeliveries',\n NOTIFICATION_ARCHIVE_ALL_JOBS: 'notificationArchiveAllJobs',\n\n APP_CONFIG: '_appConfig',\n SYSTEM_DATA: '_systemData',\n SERVER_DATA: '_serverData',\n} as const;\n\nexport type CollectionName = (typeof COLLECTIONS)[keyof typeof COLLECTIONS];\n\nexport const USER_PROFILE_SUBCOLLECTIONS = {\n HISTORICAL_STATS: 'historicalStats',\n PRIVATE_DATA: 'privateData',\n} as const;\n\nexport const SPORT_GAME_SUBCOLLECTIONS = {\n GAME_ROSTER_PLAYERS: 'gameRosterPlayers',\n GAME_STAT_EVENTS: 'gameStatEvents',\n GAME_STAT_HISTORY: 'gameStatHistory',\n} as const;\n\nexport const WAIVER_TEMPLATE_SUBCOLLECTIONS = {\n WAIVER_TEMPLATE_VERSIONS: 'waiverTemplateVersions',\n} as const;\n\nexport const AWARD_GROUP_GRANT_SUBCOLLECTIONS = {\n AWARD_GROUP_GRANT_PEOPLE: 'awardGroupGrantPeople',\n} as const;\n\nexport const SPECIAL_DOCS = {\n APP_CONFIG: 'app',\n LANDING_PAGE: 'landingPage',\n STATS_BEACON: 'statsBeacon',\n\n ADMIN_LIST: 'adminList',\n\n MIGRATION_CONSOLE: 'migrationConsole',\n GAME_LOCATION_REGISTRY: 'gameLocationRegistry',\n WAIVER_TEMPLATE_REGISTRY: 'waiverTemplateRegistry',\n} as const;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"path-builders.d.ts","sourceRoot":"","sources":["../../src/paths/path-builders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"path-builders.d.ts","sourceRoot":"","sources":["../../src/paths/path-builders.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAQrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAGnD,eAAO,MAAM,aAAa;mCACF,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,CAAC;uCACrB,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;sCAM1C,MAAM,YAAY,QAAQ,KAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;uCAM5D,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;kCAKtC,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,CAAC;iDACV,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,CAAC;yCAIjC,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,CAAC;gCAIlC,cAAc,KAAG,CAAC,MAAM,EAAE,MAAM,CAAC;gDACjB,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,CAAC;qCAKpC,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,CAAC;kCAC5B,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,CAAC;yCAClB,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,CAAC;wCAI1B,MAAM,UAAU,MAAM,UAAU,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,CAAC;8CAInD,MAAM,UAAU,MAAM,UAAU,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,CAAC;wCAI/D,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,CAAC;0CACvB,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,CAAC;yCAI1B,MAAM,UAAU,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,CAAC;iCAKjD,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,CAAC;wCAEnC,MAAM,UACN,MAAM,UACN,MAAM,KACb,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;yCAMP,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;qCAKrC,MAAM,WAAW,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;sCAMzD,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;2CAK5B,MAAM,UAAU,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;uCAM7D,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;4CAK5B,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,CAAC;gDAKrB,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,CAAC;uDAKxC,MAAM,WACf,MAAM,KACd,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;wDAMQ,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;sCAKnD,MAAM,UAAU,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,CAAC;gDAI/B,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,CAAC;wCAKjC,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,CAAC;wCACzB,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,CAAC;8CACnB,MAAM,UAAU,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;8CAMzD,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;yCAKtC,QAAQ,KAAG,CAAC,MAAM,EAAE,MAAM,CAAC;+CAIrB,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,CAAC;2CAI7B,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,CAAC;4CAIxB,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,CAAC;yCAK5B,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,CAAC;4CAItB,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,CAAC;+CAItB,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,CAAC;wCAKhC,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,CAAC;uDAEV,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,CAAC;wDAIxB,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,CAAC;gDAIjC,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,CAAC;gDAIzB,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,CAAC;sCAKrC,CAAC,MAAM,EAAE,MAAM,CAAC;8BACxB,CAAC,MAAM,EAAE,MAAM,CAAC;gCACd,CAAC,MAAM,EAAE,MAAM,CAAC;8BAClB,CAAC,MAAM,EAAE,MAAM,CAAC;qCACT,CAAC,MAAM,EAAE,MAAM,CAAC;yCAIZ,CAAC,MAAM,EAAE,MAAM,CAAC;2CAId,CAAC,MAAM,EAAE,MAAM,CAAC;CAIpC,CAAC"}
@@ -1,17 +1,8 @@
1
- // Document path builders — segment tuples, the one path family.
2
- //
3
- // Frontend: doc(db, ...PATH_BUILDERS.userProfile(userId))
4
- // Backend: db.doc(toPath(PATH_BUILDERS.userProfile(userId)))
5
- //
6
- // A singular name builds a document path; its plural builds the parent collection path where the
7
- // parent is a subcollection (top-level collections are in COLLECTION_REFS). A compound document ID
8
- // is assembled here through its one builder in ../ids — never at a call site.
9
1
  import { AWARD_GROUP_GRANT_SUBCOLLECTIONS, COLLECTIONS, SPORT_GAME_SUBCOLLECTIONS, SPECIAL_DOCS, USER_PROFILE_SUBCOLLECTIONS, WAIVER_TEMPLATE_SUBCOLLECTIONS, } from './collections.js';
10
2
  import { buildGameRosterPlayerId, buildLeagueFreeAgentId, buildTeamMembershipId, buildSignedWaiverId, } from '../ids/compound-ids.js';
11
3
  import { buildWaiverTemplateVersionId } from '../ids/waiver-template-ids.js';
12
4
  import { toReservedDisplayNameKey } from '../utils/display-name.js';
13
5
  export const PATH_BUILDERS = {
14
- // People
15
6
  userProfile: (userId) => [COLLECTIONS.USER_PROFILES, userId],
16
7
  userPrivateData: (userId) => [
17
8
  COLLECTIONS.USER_PROFILES,
@@ -44,7 +35,6 @@ export const PATH_BUILDERS = {
44
35
  COLLECTIONS.RESERVED_DISPLAY_NAMES,
45
36
  toReservedDisplayNameKey(displayName),
46
37
  ],
47
- // Leagues, teams, membership
48
38
  sportLeague: (leagueId) => [COLLECTIONS.SPORT_LEAGUES, leagueId],
49
39
  leagueTeam: (teamId) => [COLLECTIONS.LEAGUE_TEAMS, teamId],
50
40
  leagueTeamContact: (teamId) => [
@@ -68,7 +58,6 @@ export const PATH_BUILDERS = {
68
58
  COLLECTIONS.LEAGUE_FREE_AGENTS,
69
59
  buildLeagueFreeAgentId(leagueId, userId),
70
60
  ],
71
- // Games
72
61
  sportGame: (gameId) => [COLLECTIONS.SPORT_GAMES, gameId],
73
62
  gameRosterPlayer: (gameId, teamId, userId) => [
74
63
  COLLECTIONS.SPORT_GAMES,
@@ -107,7 +96,6 @@ export const PATH_BUILDERS = {
107
96
  COLLECTIONS.GAME_LOCATIONS,
108
97
  gameLocationId,
109
98
  ],
110
- // Waivers and hardware
111
99
  waiverTemplate: (waiverTemplateId) => [
112
100
  COLLECTIONS.WAIVER_TEMPLATES,
113
101
  waiverTemplateId,
@@ -131,7 +119,6 @@ export const PATH_BUILDERS = {
131
119
  COLLECTIONS.HARDWARE_LOAN_CONTRACTS,
132
120
  contractId,
133
121
  ],
134
- // Awards and derived stats
135
122
  awardDefinition: (awardId) => [COLLECTIONS.AWARD_DEFINITIONS, awardId],
136
123
  awardGroupGrant: (grantId) => [COLLECTIONS.AWARD_GROUP_GRANTS, grantId],
137
124
  awardGroupGrantPerson: (grantId, userId) => [
@@ -169,13 +156,11 @@ export const PATH_BUILDERS = {
169
156
  COLLECTIONS.PENDING_MEDIA,
170
157
  pendingMediaId,
171
158
  ],
172
- // A picture's retirement is keyed by the picture id; a whole gallery's by `buildGalleryRetirementId`.
173
159
  pictureRetirement: (retirementId) => [
174
160
  COLLECTIONS.PICTURE_RETIREMENTS,
175
161
  retirementId,
176
162
  ],
177
163
  auditEvent: (auditEventId) => [COLLECTIONS.AUDIT_EVENTS, auditEventId],
178
- // Admin notifications. A card's id is notification-core's; the others come from ../ids.
179
164
  activeAdminNotification: (notificationId) => [
180
165
  COLLECTIONS.ACTIVE_ADMIN_NOTIFICATIONS,
181
166
  notificationId,
@@ -192,7 +177,6 @@ export const PATH_BUILDERS = {
192
177
  COLLECTIONS.NOTIFICATION_ARCHIVE_ALL_JOBS,
193
178
  jobId,
194
179
  ],
195
- // Fixed-ID system documents
196
180
  landingPageConfig: () => [COLLECTIONS.APP_CONFIG, SPECIAL_DOCS.LANDING_PAGE],
197
181
  appConfig: () => [COLLECTIONS.APP_CONFIG, SPECIAL_DOCS.APP_CONFIG],
198
182
  statsBeacon: () => [COLLECTIONS.APP_CONFIG, SPECIAL_DOCS.STATS_BEACON],
@@ -1 +1 @@
1
- {"version":3,"file":"path-builders.js","sourceRoot":"","sources":["../../src/paths/path-builders.ts"],"names":[],"mappings":"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","sourcesContent":["// Document path builders — segment tuples, the one path family.\n//\n// Frontend: doc(db, ...PATH_BUILDERS.userProfile(userId))\n// Backend: db.doc(toPath(PATH_BUILDERS.userProfile(userId)))\n//\n// A singular name builds a document path; its plural builds the parent collection path where the\n// parent is a subcollection (top-level collections are in COLLECTION_REFS). A compound document ID\n// is assembled here through its one builder in ../ids — never at a call site.\n\nimport {\n AWARD_GROUP_GRANT_SUBCOLLECTIONS,\n COLLECTIONS,\n SPORT_GAME_SUBCOLLECTIONS,\n SPECIAL_DOCS,\n USER_PROFILE_SUBCOLLECTIONS,\n WAIVER_TEMPLATE_SUBCOLLECTIONS,\n} from './collections.js';\nimport type { SweepStateName } from '../constants/scheduled-jobs.js';\nimport {\n buildGameRosterPlayerId,\n buildLeagueFreeAgentId,\n buildTeamMembershipId,\n buildSignedWaiverId,\n} from '../ids/compound-ids.js';\nimport { buildWaiverTemplateVersionId } from '../ids/waiver-template-ids.js';\nimport type { SportKey } from '../types/sports.js';\nimport { toReservedDisplayNameKey } from '../utils/display-name.js';\n\nexport const PATH_BUILDERS = {\n // People\n userProfile: (userId: string): [string, string] => [COLLECTIONS.USER_PROFILES, userId],\n userPrivateData: (userId: string): [string, string, string, string] => [\n COLLECTIONS.USER_PROFILES,\n userId,\n USER_PROFILE_SUBCOLLECTIONS.PRIVATE_DATA,\n userId,\n ],\n historicalStat: (userId: string, sportKey: SportKey): [string, string, string, string] => [\n COLLECTIONS.USER_PROFILES,\n userId,\n USER_PROFILE_SUBCOLLECTIONS.HISTORICAL_STATS,\n sportKey,\n ],\n historicalStats: (userId: string): [string, string, string] => [\n COLLECTIONS.USER_PROFILES,\n userId,\n USER_PROFILE_SUBCOLLECTIONS.HISTORICAL_STATS,\n ],\n publicUser: (userId: string): [string, string] => [COLLECTIONS.PUBLIC_USERS, userId],\n statusReconcileQueueEntry: (userId: string): [string, string] => [\n COLLECTIONS.STATUS_RECONCILE_QUEUE,\n userId,\n ],\n registrationStart: (userId: string): [string, string] => [\n COLLECTIONS.REGISTRATION_STARTS,\n userId,\n ],\n sweepState: (name: SweepStateName): [string, string] => [COLLECTIONS.SWEEP_STATE, name],\n reservedDisplayName: (displayName: string): [string, string] => [\n COLLECTIONS.RESERVED_DISPLAY_NAMES,\n toReservedDisplayNameKey(displayName),\n ],\n\n // Leagues, teams, membership\n sportLeague: (leagueId: string): [string, string] => [COLLECTIONS.SPORT_LEAGUES, leagueId],\n leagueTeam: (teamId: string): [string, string] => [COLLECTIONS.LEAGUE_TEAMS, teamId],\n leagueTeamContact: (teamId: string): [string, string] => [\n COLLECTIONS.LEAGUE_TEAM_CONTACTS,\n teamId,\n ],\n teamMembership: (leagueId: string, teamId: string, userId: string): [string, string] => [\n COLLECTIONS.TEAM_MEMBERSHIPS,\n buildTeamMembershipId(leagueId, teamId, userId),\n ],\n membershipRosterSync: (leagueId: string, teamId: string, userId: string): [string, string] => [\n COLLECTIONS.MEMBERSHIP_ROSTER_SYNCS,\n buildTeamMembershipId(leagueId, teamId, userId),\n ],\n teamInvitation: (inviteId: string): [string, string] => [COLLECTIONS.TEAM_INVITATIONS, inviteId],\n teamJoinRequest: (requestId: string): [string, string] => [\n COLLECTIONS.TEAM_JOIN_REQUESTS,\n requestId,\n ],\n leagueFreeAgent: (leagueId: string, userId: string): [string, string] => [\n COLLECTIONS.LEAGUE_FREE_AGENTS,\n buildLeagueFreeAgentId(leagueId, userId),\n ],\n\n // Games\n sportGame: (gameId: string): [string, string] => [COLLECTIONS.SPORT_GAMES, gameId],\n gameRosterPlayer: (\n gameId: string,\n teamId: string,\n userId: string,\n ): [string, string, string, string] => [\n COLLECTIONS.SPORT_GAMES,\n gameId,\n SPORT_GAME_SUBCOLLECTIONS.GAME_ROSTER_PLAYERS,\n buildGameRosterPlayerId(teamId, userId),\n ],\n gameRosterPlayers: (gameId: string): [string, string, string] => [\n COLLECTIONS.SPORT_GAMES,\n gameId,\n SPORT_GAME_SUBCOLLECTIONS.GAME_ROSTER_PLAYERS,\n ],\n gameStatEvent: (gameId: string, eventId: string): [string, string, string, string] => [\n COLLECTIONS.SPORT_GAMES,\n gameId,\n SPORT_GAME_SUBCOLLECTIONS.GAME_STAT_EVENTS,\n eventId,\n ],\n gameStatEvents: (gameId: string): [string, string, string] => [\n COLLECTIONS.SPORT_GAMES,\n gameId,\n SPORT_GAME_SUBCOLLECTIONS.GAME_STAT_EVENTS,\n ],\n gameStatHistoryPage: (gameId: string, pageId: string): [string, string, string, string] => [\n COLLECTIONS.SPORT_GAMES,\n gameId,\n SPORT_GAME_SUBCOLLECTIONS.GAME_STAT_HISTORY,\n pageId,\n ],\n gameStatHistory: (gameId: string): [string, string, string] => [\n COLLECTIONS.SPORT_GAMES,\n gameId,\n SPORT_GAME_SUBCOLLECTIONS.GAME_STAT_HISTORY,\n ],\n gameLocation: (gameLocationId: string): [string, string] => [\n COLLECTIONS.GAME_LOCATIONS,\n gameLocationId,\n ],\n\n // Waivers and hardware\n waiverTemplate: (waiverTemplateId: string): [string, string] => [\n COLLECTIONS.WAIVER_TEMPLATES,\n waiverTemplateId,\n ],\n waiverTemplateVersion: (\n waiverTemplateId: string,\n version: number,\n ): [string, string, string, string] => [\n COLLECTIONS.WAIVER_TEMPLATES,\n waiverTemplateId,\n WAIVER_TEMPLATE_SUBCOLLECTIONS.WAIVER_TEMPLATE_VERSIONS,\n buildWaiverTemplateVersionId(version),\n ],\n waiverTemplateVersions: (waiverTemplateId: string): [string, string, string] => [\n COLLECTIONS.WAIVER_TEMPLATES,\n waiverTemplateId,\n WAIVER_TEMPLATE_SUBCOLLECTIONS.WAIVER_TEMPLATE_VERSIONS,\n ],\n signedWaiver: (leagueId: string, userId: string): [string, string] => [\n COLLECTIONS.SIGNED_WAIVERS,\n buildSignedWaiverId(leagueId, userId),\n ],\n hardwareLoanContract: (contractId: string): [string, string] => [\n COLLECTIONS.HARDWARE_LOAN_CONTRACTS,\n contractId,\n ],\n\n // Awards and derived stats\n awardDefinition: (awardId: string): [string, string] => [COLLECTIONS.AWARD_DEFINITIONS, awardId],\n awardGroupGrant: (grantId: string): [string, string] => [COLLECTIONS.AWARD_GROUP_GRANTS, grantId],\n awardGroupGrantPerson: (grantId: string, userId: string): [string, string, string, string] => [\n COLLECTIONS.AWARD_GROUP_GRANTS,\n grantId,\n AWARD_GROUP_GRANT_SUBCOLLECTIONS.AWARD_GROUP_GRANT_PEOPLE,\n userId,\n ],\n awardGroupGrantPeople: (grantId: string): [string, string, string] => [\n COLLECTIONS.AWARD_GROUP_GRANTS,\n grantId,\n AWARD_GROUP_GRANT_SUBCOLLECTIONS.AWARD_GROUP_GRANT_PEOPLE,\n ],\n sportHallOfFame: (sportKey: SportKey): [string, string] => [\n COLLECTIONS.SPORT_HALL_OF_FAME,\n sportKey,\n ],\n statsValidationReport: (reportId: string): [string, string] => [\n COLLECTIONS.STATS_VALIDATION_REPORTS,\n reportId,\n ],\n statsOperation: (operationId: string): [string, string] => [\n COLLECTIONS.STATS_OPERATIONS,\n operationId,\n ],\n migrationActionRun: (actionId: string): [string, string] => [\n COLLECTIONS.MIGRATION_ACTION_RUNS,\n actionId,\n ],\n\n galleryPicture: (pictureId: string): [string, string] => [\n COLLECTIONS.GALLERY_PICTURES,\n pictureId,\n ],\n pendingMedia: (pendingMediaId: string): [string, string] => [\n COLLECTIONS.PENDING_MEDIA,\n pendingMediaId,\n ],\n // A picture's retirement is keyed by the picture id; a whole gallery's by `buildGalleryRetirementId`.\n pictureRetirement: (retirementId: string): [string, string] => [\n COLLECTIONS.PICTURE_RETIREMENTS,\n retirementId,\n ],\n\n auditEvent: (auditEventId: string): [string, string] => [COLLECTIONS.AUDIT_EVENTS, auditEventId],\n\n // Admin notifications. A card's id is notification-core's; the others come from ../ids.\n activeAdminNotification: (notificationId: string): [string, string] => [\n COLLECTIONS.ACTIVE_ADMIN_NOTIFICATIONS,\n notificationId,\n ],\n adminNotificationHistoryEntry: (historyId: string): [string, string] => [\n COLLECTIONS.ADMIN_NOTIFICATION_HISTORY,\n historyId,\n ],\n notificationDelivery: (deliveryId: string): [string, string] => [\n COLLECTIONS.NOTIFICATION_DELIVERIES,\n deliveryId,\n ],\n notificationArchiveAllJob: (jobId: string): [string, string] => [\n COLLECTIONS.NOTIFICATION_ARCHIVE_ALL_JOBS,\n jobId,\n ],\n\n // Fixed-ID system documents\n landingPageConfig: (): [string, string] => [COLLECTIONS.APP_CONFIG, SPECIAL_DOCS.LANDING_PAGE],\n appConfig: (): [string, string] => [COLLECTIONS.APP_CONFIG, SPECIAL_DOCS.APP_CONFIG],\n statsBeacon: (): [string, string] => [COLLECTIONS.APP_CONFIG, SPECIAL_DOCS.STATS_BEACON],\n adminList: (): [string, string] => [COLLECTIONS.SYSTEM_DATA, SPECIAL_DOCS.ADMIN_LIST],\n migrationConsole: (): [string, string] => [\n COLLECTIONS.SERVER_DATA,\n SPECIAL_DOCS.MIGRATION_CONSOLE,\n ],\n gameLocationRegistry: (): [string, string] => [\n COLLECTIONS.SERVER_DATA,\n SPECIAL_DOCS.GAME_LOCATION_REGISTRY,\n ],\n waiverTemplateRegistry: (): [string, string] => [\n COLLECTIONS.SERVER_DATA,\n SPECIAL_DOCS.WAIVER_TEMPLATE_REGISTRY,\n ],\n} as const;\n"]}
1
+ {"version":3,"file":"path-builders.js","sourceRoot":"","sources":["../../src/paths/path-builders.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AWARD_GROUP_GRANT_SUBCOLLECTIONS,\n COLLECTIONS,\n SPORT_GAME_SUBCOLLECTIONS,\n SPECIAL_DOCS,\n USER_PROFILE_SUBCOLLECTIONS,\n WAIVER_TEMPLATE_SUBCOLLECTIONS,\n} from './collections.js';\nimport type { SweepStateName } from '../constants/scheduled-jobs.js';\nimport {\n buildGameRosterPlayerId,\n buildLeagueFreeAgentId,\n buildTeamMembershipId,\n buildSignedWaiverId,\n} from '../ids/compound-ids.js';\nimport { buildWaiverTemplateVersionId } from '../ids/waiver-template-ids.js';\nimport type { SportKey } from '../types/sports.js';\nimport { toReservedDisplayNameKey } from '../utils/display-name.js';\n\nexport const PATH_BUILDERS = {\n userProfile: (userId: string): [string, string] => [COLLECTIONS.USER_PROFILES, userId],\n userPrivateData: (userId: string): [string, string, string, string] => [\n COLLECTIONS.USER_PROFILES,\n userId,\n USER_PROFILE_SUBCOLLECTIONS.PRIVATE_DATA,\n userId,\n ],\n historicalStat: (userId: string, sportKey: SportKey): [string, string, string, string] => [\n COLLECTIONS.USER_PROFILES,\n userId,\n USER_PROFILE_SUBCOLLECTIONS.HISTORICAL_STATS,\n sportKey,\n ],\n historicalStats: (userId: string): [string, string, string] => [\n COLLECTIONS.USER_PROFILES,\n userId,\n USER_PROFILE_SUBCOLLECTIONS.HISTORICAL_STATS,\n ],\n publicUser: (userId: string): [string, string] => [COLLECTIONS.PUBLIC_USERS, userId],\n statusReconcileQueueEntry: (userId: string): [string, string] => [\n COLLECTIONS.STATUS_RECONCILE_QUEUE,\n userId,\n ],\n registrationStart: (userId: string): [string, string] => [\n COLLECTIONS.REGISTRATION_STARTS,\n userId,\n ],\n sweepState: (name: SweepStateName): [string, string] => [COLLECTIONS.SWEEP_STATE, name],\n reservedDisplayName: (displayName: string): [string, string] => [\n COLLECTIONS.RESERVED_DISPLAY_NAMES,\n toReservedDisplayNameKey(displayName),\n ],\n\n sportLeague: (leagueId: string): [string, string] => [COLLECTIONS.SPORT_LEAGUES, leagueId],\n leagueTeam: (teamId: string): [string, string] => [COLLECTIONS.LEAGUE_TEAMS, teamId],\n leagueTeamContact: (teamId: string): [string, string] => [\n COLLECTIONS.LEAGUE_TEAM_CONTACTS,\n teamId,\n ],\n teamMembership: (leagueId: string, teamId: string, userId: string): [string, string] => [\n COLLECTIONS.TEAM_MEMBERSHIPS,\n buildTeamMembershipId(leagueId, teamId, userId),\n ],\n membershipRosterSync: (leagueId: string, teamId: string, userId: string): [string, string] => [\n COLLECTIONS.MEMBERSHIP_ROSTER_SYNCS,\n buildTeamMembershipId(leagueId, teamId, userId),\n ],\n teamInvitation: (inviteId: string): [string, string] => [COLLECTIONS.TEAM_INVITATIONS, inviteId],\n teamJoinRequest: (requestId: string): [string, string] => [\n COLLECTIONS.TEAM_JOIN_REQUESTS,\n requestId,\n ],\n leagueFreeAgent: (leagueId: string, userId: string): [string, string] => [\n COLLECTIONS.LEAGUE_FREE_AGENTS,\n buildLeagueFreeAgentId(leagueId, userId),\n ],\n\n sportGame: (gameId: string): [string, string] => [COLLECTIONS.SPORT_GAMES, gameId],\n gameRosterPlayer: (\n gameId: string,\n teamId: string,\n userId: string,\n ): [string, string, string, string] => [\n COLLECTIONS.SPORT_GAMES,\n gameId,\n SPORT_GAME_SUBCOLLECTIONS.GAME_ROSTER_PLAYERS,\n buildGameRosterPlayerId(teamId, userId),\n ],\n gameRosterPlayers: (gameId: string): [string, string, string] => [\n COLLECTIONS.SPORT_GAMES,\n gameId,\n SPORT_GAME_SUBCOLLECTIONS.GAME_ROSTER_PLAYERS,\n ],\n gameStatEvent: (gameId: string, eventId: string): [string, string, string, string] => [\n COLLECTIONS.SPORT_GAMES,\n gameId,\n SPORT_GAME_SUBCOLLECTIONS.GAME_STAT_EVENTS,\n eventId,\n ],\n gameStatEvents: (gameId: string): [string, string, string] => [\n COLLECTIONS.SPORT_GAMES,\n gameId,\n SPORT_GAME_SUBCOLLECTIONS.GAME_STAT_EVENTS,\n ],\n gameStatHistoryPage: (gameId: string, pageId: string): [string, string, string, string] => [\n COLLECTIONS.SPORT_GAMES,\n gameId,\n SPORT_GAME_SUBCOLLECTIONS.GAME_STAT_HISTORY,\n pageId,\n ],\n gameStatHistory: (gameId: string): [string, string, string] => [\n COLLECTIONS.SPORT_GAMES,\n gameId,\n SPORT_GAME_SUBCOLLECTIONS.GAME_STAT_HISTORY,\n ],\n gameLocation: (gameLocationId: string): [string, string] => [\n COLLECTIONS.GAME_LOCATIONS,\n gameLocationId,\n ],\n\n waiverTemplate: (waiverTemplateId: string): [string, string] => [\n COLLECTIONS.WAIVER_TEMPLATES,\n waiverTemplateId,\n ],\n waiverTemplateVersion: (\n waiverTemplateId: string,\n version: number,\n ): [string, string, string, string] => [\n COLLECTIONS.WAIVER_TEMPLATES,\n waiverTemplateId,\n WAIVER_TEMPLATE_SUBCOLLECTIONS.WAIVER_TEMPLATE_VERSIONS,\n buildWaiverTemplateVersionId(version),\n ],\n waiverTemplateVersions: (waiverTemplateId: string): [string, string, string] => [\n COLLECTIONS.WAIVER_TEMPLATES,\n waiverTemplateId,\n WAIVER_TEMPLATE_SUBCOLLECTIONS.WAIVER_TEMPLATE_VERSIONS,\n ],\n signedWaiver: (leagueId: string, userId: string): [string, string] => [\n COLLECTIONS.SIGNED_WAIVERS,\n buildSignedWaiverId(leagueId, userId),\n ],\n hardwareLoanContract: (contractId: string): [string, string] => [\n COLLECTIONS.HARDWARE_LOAN_CONTRACTS,\n contractId,\n ],\n\n awardDefinition: (awardId: string): [string, string] => [COLLECTIONS.AWARD_DEFINITIONS, awardId],\n awardGroupGrant: (grantId: string): [string, string] => [COLLECTIONS.AWARD_GROUP_GRANTS, grantId],\n awardGroupGrantPerson: (grantId: string, userId: string): [string, string, string, string] => [\n COLLECTIONS.AWARD_GROUP_GRANTS,\n grantId,\n AWARD_GROUP_GRANT_SUBCOLLECTIONS.AWARD_GROUP_GRANT_PEOPLE,\n userId,\n ],\n awardGroupGrantPeople: (grantId: string): [string, string, string] => [\n COLLECTIONS.AWARD_GROUP_GRANTS,\n grantId,\n AWARD_GROUP_GRANT_SUBCOLLECTIONS.AWARD_GROUP_GRANT_PEOPLE,\n ],\n sportHallOfFame: (sportKey: SportKey): [string, string] => [\n COLLECTIONS.SPORT_HALL_OF_FAME,\n sportKey,\n ],\n statsValidationReport: (reportId: string): [string, string] => [\n COLLECTIONS.STATS_VALIDATION_REPORTS,\n reportId,\n ],\n statsOperation: (operationId: string): [string, string] => [\n COLLECTIONS.STATS_OPERATIONS,\n operationId,\n ],\n migrationActionRun: (actionId: string): [string, string] => [\n COLLECTIONS.MIGRATION_ACTION_RUNS,\n actionId,\n ],\n\n galleryPicture: (pictureId: string): [string, string] => [\n COLLECTIONS.GALLERY_PICTURES,\n pictureId,\n ],\n pendingMedia: (pendingMediaId: string): [string, string] => [\n COLLECTIONS.PENDING_MEDIA,\n pendingMediaId,\n ],\n pictureRetirement: (retirementId: string): [string, string] => [\n COLLECTIONS.PICTURE_RETIREMENTS,\n retirementId,\n ],\n\n auditEvent: (auditEventId: string): [string, string] => [COLLECTIONS.AUDIT_EVENTS, auditEventId],\n\n activeAdminNotification: (notificationId: string): [string, string] => [\n COLLECTIONS.ACTIVE_ADMIN_NOTIFICATIONS,\n notificationId,\n ],\n adminNotificationHistoryEntry: (historyId: string): [string, string] => [\n COLLECTIONS.ADMIN_NOTIFICATION_HISTORY,\n historyId,\n ],\n notificationDelivery: (deliveryId: string): [string, string] => [\n COLLECTIONS.NOTIFICATION_DELIVERIES,\n deliveryId,\n ],\n notificationArchiveAllJob: (jobId: string): [string, string] => [\n COLLECTIONS.NOTIFICATION_ARCHIVE_ALL_JOBS,\n jobId,\n ],\n\n landingPageConfig: (): [string, string] => [COLLECTIONS.APP_CONFIG, SPECIAL_DOCS.LANDING_PAGE],\n appConfig: (): [string, string] => [COLLECTIONS.APP_CONFIG, SPECIAL_DOCS.APP_CONFIG],\n statsBeacon: (): [string, string] => [COLLECTIONS.APP_CONFIG, SPECIAL_DOCS.STATS_BEACON],\n adminList: (): [string, string] => [COLLECTIONS.SYSTEM_DATA, SPECIAL_DOCS.ADMIN_LIST],\n migrationConsole: (): [string, string] => [\n COLLECTIONS.SERVER_DATA,\n SPECIAL_DOCS.MIGRATION_CONSOLE,\n ],\n gameLocationRegistry: (): [string, string] => [\n COLLECTIONS.SERVER_DATA,\n SPECIAL_DOCS.GAME_LOCATION_REGISTRY,\n ],\n waiverTemplateRegistry: (): [string, string] => [\n COLLECTIONS.SERVER_DATA,\n SPECIAL_DOCS.WAIVER_TEMPLATE_REGISTRY,\n ],\n} as const;\n"]}
@@ -39,9 +39,5 @@ export declare const PICTURE_OWNER_PATHS: {
39
39
  readonly ownerDoc: () => [string, string];
40
40
  };
41
41
  };
42
- /**
43
- * Whether an owner id can name an owner of its kind. Every kind but the landing page takes any
44
- * document id; the landing page is the one document `SPECIAL_DOCS.LANDING_PAGE` names.
45
- */
46
42
  export declare function isPictureOwnerId(kind: PictureOwnerKind, ownerId: string): boolean;
47
43
  //# sourceMappingURL=picture-owner-paths.d.ts.map