Commit Graph

14 Commits

Author SHA1 Message Date
cottongin
1d08580a45 feat: add GET /shows/by-episode/{episode_number} endpoint
Allows looking up shows by episode number instead of internal DB ID,
enabling IRC bot commands like !playlist 530 to resolve directly.

Made-with: Cursor
2026-03-12 02:33:42 -04:00
cottongin
cb3ae403cf feat: add historical backfill with --init CLI and episode numbering
Adds a --init mode that seeds the database with past shows from a given
anchor episode/date forward, batch-fetching likes from SoundCloud and
partitioning them into weekly buckets. Episode numbers are tracked in
the shows table and auto-incremented by the poller for new shows.

Includes full API documentation (docs/api.md) and updated README.

Made-with: Cursor
2026-03-12 02:09:15 -04:00
cottongin
c88826ac4d fix: wire show_day/show_hour config into API, simplify AddTrackRequest
- create_app now accepts show_day/show_hour params instead of
  hardcoding Wednesday 22:00
- main.py passes config values through to create_app
- Removed soundcloud_url from AddTrackRequest (not implemented);
  track_id is now required

Made-with: Cursor
2026-03-12 01:46:23 -04:00
cottongin
219e2d4545 feat: add main entry point wiring API server and poller
Made-with: Cursor
2026-03-12 01:41:16 -04:00
cottongin
2e22a2b3ff feat: add FastAPI routes for playlist, shows, admin, and health
Made-with: Cursor
2026-03-12 01:40:04 -04:00
cottongin
ab81ad4fd4 feat: add poller with supervised restart loop
Made-with: Cursor
2026-03-12 01:40:00 -04:00
cottongin
f7dde6781a feat: add user resolution and likes fetching with 401 retry
Made-with: Cursor
2026-03-12 01:36:28 -04:00
cottongin
49846f9d7e feat: add SoundCloud client with client_id extraction
Made-with: Cursor
2026-03-12 01:36:03 -04:00
cottongin
d2ab4e94c0 feat: add database query methods for tracks, shows, and show_tracks
Made-with: Cursor
2026-03-12 01:33:17 -04:00
cottongin
2b38fda25a feat: add database module with schema initialization
Made-with: Cursor
2026-03-12 01:21:33 -04:00
cottongin
537d9ecd8b feat: add data models for Track, Show, ShowTrack
Made-with: Cursor
2026-03-12 01:18:20 -04:00
cottongin
38dda5dda0 feat: add week boundary computation with DST handling
Made-with: Cursor
2026-03-12 01:18:12 -04:00
cottongin
7e41f55e26 feat: add configuration module with pydantic-settings
Made-with: Cursor
2026-03-12 01:16:51 -04:00
cottongin
c40559822e scaffold: project structure with pyproject.toml and test config
Made-with: Cursor
2026-03-12 01:16:16 -04:00