brackt/app
Chris Parsons f3937d0d84
feat: auto-provision canonical tournaments and participants on create
Creating new qualifying scoring_events or season_participants now
auto-upserts the matching canonical rows. Needed so the check constraint
doesn't reject qualifying events, and so new season participants
flow through syncTournamentResults.

- Extract tournament identity shared between backfill and event-creation
  into app/lib/tournament-identity.ts; scripts/backfill re-exports it.
- createScoringEvent + bulkCreateScoringEvents now accept tournamentId.
- Event creation routes auto-compute (name, year) and upsert tournament.
- createParticipant + createManyParticipants auto-link to canonical
  participants by (sportId, name).

Phase 3 Task 7 of canonical tournament layer migration.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-01 22:32:16 +00:00
..
components feat(BatchResultEntry): make form intent configurable 2026-05-01 21:27:42 +00:00
contexts feat: implement middleware and context provider for Express integration 2025-10-11 20:56:00 -07:00
hooks Show "Syncing Draft State..." overlay during draft reconnection (#361) 2026-04-30 20:33:00 -07:00
lib feat: auto-provision canonical tournaments and participants on create 2026-05-01 22:32:16 +00:00
models feat: auto-provision canonical tournaments and participants on create 2026-05-01 22:32:16 +00:00
routes feat: auto-provision canonical tournaments and participants on create 2026-05-01 22:32:16 +00:00
services feat(services): syncTournamentResults fan-out service 2026-05-01 21:40:49 +00:00
test Migrate auth from Clerk to BetterAuth (#354) 2026-04-29 10:03:50 -07:00
types Redesign standings page with sortable table, 7-day change, and chart repositioned (#205) 2026-03-22 11:05:13 -07:00
utils refactor(services): update simulators and services for renamed schema 2026-05-01 16:50:01 +00:00
welcome Redesign to dark-mode-only with navy palette and accent colors (#13) 2026-02-20 19:26:11 -08:00
app.css Add Storybook stories for new components from staged changes (#321) 2026-04-23 22:09:25 -07:00
entry.client.tsx Filter unnecessary sentry css and js errors. 2026-03-15 10:24:57 -07:00
entry.server.tsx Replace console.* with structured logger, fix no-inferrable-types (closes #98) (#199) 2026-03-21 13:41:39 -07:00
root.tsx Fix admin navbar link: use isUserAdmin DB call instead of session.user.isAdmin 2026-04-24 23:10:03 -07:00
routes.ts feat(admin): canonical tournament list + result entry routes 2026-05-01 22:03:39 +00:00