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
This commit is contained in:
cottongin
2026-03-12 02:33:42 -04:00
parent b529edecc3
commit 1d08580a45
6 changed files with 99 additions and 2 deletions

View File

@@ -272,6 +272,20 @@ def test_update_show_episode_number(db):
assert show2.episode_number == 521
def test_get_show_by_episode_number(db):
week_start = datetime(2026, 1, 8, 3, 0, 0, tzinfo=timezone.utc)
week_end = datetime(2026, 1, 15, 3, 0, 0, tzinfo=timezone.utc)
show = db.get_or_create_show(week_start, week_end, episode_number=521)
result = db.get_show_by_episode_number(521)
assert result is not None
assert result.id == show.id
assert result.episode_number == 521
def test_get_show_by_episode_number_missing(db):
assert db.get_show_by_episode_number(999) is None
def test_has_track_in_show(db):
week_start = datetime(2026, 3, 13, 2, 0, 0, tzinfo=timezone.utc)
week_end = datetime(2026, 3, 20, 2, 0, 0, tzinfo=timezone.utc)