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:
@@ -89,6 +89,20 @@ def create_app(
|
||||
for s in shows
|
||||
]
|
||||
|
||||
@app.get("/shows/by-episode/{episode_number}")
|
||||
def show_by_episode(episode_number: int):
|
||||
show = db.get_show_by_episode_number(episode_number)
|
||||
if show is None:
|
||||
raise HTTPException(status_code=404, detail=f"No show with episode number {episode_number}")
|
||||
tracks = db.get_show_tracks(show.id)
|
||||
return {
|
||||
"show_id": show.id,
|
||||
"episode_number": show.episode_number,
|
||||
"week_start": show.week_start.isoformat(),
|
||||
"week_end": show.week_end.isoformat(),
|
||||
"tracks": tracks,
|
||||
}
|
||||
|
||||
@app.get("/shows/{show_id}")
|
||||
def show_detail(show_id: int):
|
||||
shows = db.list_shows(limit=1000, offset=0)
|
||||
|
||||
Reference in New Issue
Block a user