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:
@@ -239,6 +239,24 @@ class Database:
|
||||
for row in rows
|
||||
]
|
||||
|
||||
def get_show_by_episode_number(self, episode_number: int) -> Show | None:
|
||||
conn = self._connect()
|
||||
row = conn.execute(
|
||||
"SELECT id, week_start, week_end, created_at, episode_number "
|
||||
"FROM shows WHERE episode_number = ? LIMIT 1",
|
||||
(episode_number,),
|
||||
).fetchone()
|
||||
conn.close()
|
||||
if row is None:
|
||||
return None
|
||||
return Show(
|
||||
id=row["id"],
|
||||
week_start=datetime.fromisoformat(row["week_start"]),
|
||||
week_end=datetime.fromisoformat(row["week_end"]),
|
||||
created_at=datetime.fromisoformat(row["created_at"]),
|
||||
episode_number=row["episode_number"],
|
||||
)
|
||||
|
||||
def get_latest_episode_number(self) -> int | None:
|
||||
conn = self._connect()
|
||||
row = conn.execute(
|
||||
|
||||
Reference in New Issue
Block a user