Skip to content

feat(calendar): episode type filter - #891

Closed
rectifyer wants to merge 1 commit into
masterfrom
feat/calendar_episode_type_filter
Closed

feat(calendar): episode type filter#891
rectifyer wants to merge 1 commit into
masterfrom
feat/calendar_episode_type_filter

Conversation

@rectifyer

Copy link
Copy Markdown
Contributor

Summary

Adds an episode_types query filter to the calendar shows and media endpoints, letting callers narrow (or exclude) episodes by their role in a season's run.

Details

episode_types takes a comma separated list of episode roles: series_premiere, season_premiere, mid_season_premiere, mid_season_finale, season_finale, series_finale. Prefix a role with - to exclude it instead. Included roles match any of the listed roles; excluded roles must all be absent. Unrecognised values are ignored.

The filter is scoped to the two feeds that resolve their own episodes. The dedicated shows/{new,premieres,finales} and releases/hot/* routes already fix their episode roles, and movies / streaming / dvd carry no episodes to narrow.

On the merged media feed, including a role returns matching episodes only (a movie carries no episode role), while excluding a role leaves movies in place.

Example queries

Only season finales airing on my shows calendar this week:

GET /calendars/my/shows/2026-07-28/7?episode_types=season_finale

All premieres (series or season) on the global shows calendar:

GET /calendars/all/shows/2026-07-28/7?episode_types=series_premiere,season_premiere

My shows calendar for the month, with every finale dropped:

GET /calendars/my/shows/2026-07-28/30?episode_types=-season_finale,-series_finale

Merged media feed narrowed to mid-season finale episodes only (movies fall away since a movie has no episode role):

GET /calendars/my/media/2026-07-28/7?episode_types=mid_season_finale

Merged media feed keeping movies but excluding finale episodes:

GET /calendars/all/media/2026-07-28/7?episode_types=-season_finale,-series_finale

@rectifyer rectifyer closed this Jul 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant