Seed events table with 2026 tournament schedule from contracts #331

Closed
opened 2026-04-04 05:48:56 +00:00 by forgejo_admin · 1 comment

Type

Feature

Lineage

Standalone — events table was empty. Tournament data existed only in hardcoded HTML in westside-contracts. Schedule page showed "No upcoming events."

NOTE: This was applied directly to prod without a ticket. Retroactive scoping.

Repo

forgejo_admin/basketball-api

User Story

As a parent visiting the schedule page,
I want to see upcoming tournaments
So that I know the season event calendar.

Context

The events table (migration 029) existed with 0 rows. Tournament data was hardcoded in westside-contracts/src/routes/contract/[token]/+page.svelte. The /public/schedule API already returns events alongside practices. The schedule page already renders event cards. Only the data was missing.

8 events were seeded directly via kubectl exec SQL INSERT on 2026-04-04.

Environment

  • Cluster/namespace: prod / basketball-api
  • Database: postgresql (CNPG)

File Targets

No code changes. Data-only operation.

Source of truth: westside-contracts/src/routes/contract/[token]/+page.svelte (tournament details in contract HTML)

Acceptance Criteria

  • 8 rows in events table (3 Kings, 5 Queens tournaments)
  • Data matches contract text exactly (dates, locations, costs)
  • /public/schedule API returns all 8 events
  • Schedule page displays events under correct division (Kings/Queens)
  • Verified visually via Playwright screenshot

Test Expectations

  • SELECT count(*) FROM events = 8
  • Kings tab shows 3 tournaments, Queens tab shows 5 tournaments
  • Run command: kubectl exec -n basketball-api postgres-... -- psql -U basketball -d basketball -c "SELECT title, division, start_date FROM events ORDER BY start_date;"

Constraints

  • Data must match signed contracts exactly
  • No code changes needed -- data only

Checklist

  • Data inserted (applied 2026-04-04 without ticket -- retroactive)
  • Data verified against contracts
  • Visual validation completed
  • westside-basketball — project this affects
  • basketball-api#279 — practice schedule seeding (same pattern)
### Type Feature ### Lineage Standalone — events table was empty. Tournament data existed only in hardcoded HTML in westside-contracts. Schedule page showed "No upcoming events." **NOTE: This was applied directly to prod without a ticket. Retroactive scoping.** ### Repo `forgejo_admin/basketball-api` ### User Story As a parent visiting the schedule page, I want to see upcoming tournaments So that I know the season event calendar. ### Context The `events` table (migration 029) existed with 0 rows. Tournament data was hardcoded in `westside-contracts/src/routes/contract/[token]/+page.svelte`. The `/public/schedule` API already returns events alongside practices. The schedule page already renders event cards. Only the data was missing. 8 events were seeded directly via `kubectl exec` SQL INSERT on 2026-04-04. ### Environment - Cluster/namespace: prod / basketball-api - Database: postgresql (CNPG) ### File Targets No code changes. Data-only operation. Source of truth: `westside-contracts/src/routes/contract/[token]/+page.svelte` (tournament details in contract HTML) ### Acceptance Criteria - [ ] 8 rows in `events` table (3 Kings, 5 Queens tournaments) - [ ] Data matches contract text exactly (dates, locations, costs) - [ ] `/public/schedule` API returns all 8 events - [ ] Schedule page displays events under correct division (Kings/Queens) - [ ] Verified visually via Playwright screenshot ### Test Expectations - [ ] `SELECT count(*) FROM events` = 8 - [ ] Kings tab shows 3 tournaments, Queens tab shows 5 tournaments - Run command: `kubectl exec -n basketball-api postgres-... -- psql -U basketball -d basketball -c "SELECT title, division, start_date FROM events ORDER BY start_date;"` ### Constraints - Data must match signed contracts exactly - No code changes needed -- data only ### Checklist - [x] Data inserted (applied 2026-04-04 without ticket -- retroactive) - [ ] Data verified against contracts - [ ] Visual validation completed ### Related - `westside-basketball` — project this affects - basketball-api#279 — practice schedule seeding (same pattern)
Author
Owner

Scope Review: READY

Review note: review-790-2026-04-03
Scope is solid — 8 events (3 Kings, 5 Queens) verified against contract HTML in westside-contracts. All prerequisite work (migration 029, CRUD endpoints, public schedule endpoint) is complete. Data-only operation, no decomposition needed.

  • [SCOPE] Systemic gap: no arch-basketball-api note exists in pal-e-docs (not a blocker for this ticket)
## Scope Review: READY Review note: `review-790-2026-04-03` Scope is solid — 8 events (3 Kings, 5 Queens) verified against contract HTML in westside-contracts. All prerequisite work (migration 029, CRUD endpoints, public schedule endpoint) is complete. Data-only operation, no decomposition needed. - [SCOPE] Systemic gap: no `arch-basketball-api` note exists in pal-e-docs (not a blocker for this ticket)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
forgejo_admin/basketball-api#331
No description provided.