fix(catalog): use season posters for episode cards

This commit is contained in:
Quick
2026-05-27 14:54:58 -04:00
parent f08ae2572d
commit 87986d88d0
4 changed files with 25 additions and 20 deletions
+3 -2
View File
@@ -28,8 +28,8 @@ const episodeCatalogSelectBody = `(
COALESCE(e.imdb_id, '') AS imdb_id,
COALESCE(e.tmdb_id, '') AS tmdb_id,
COALESCE(e.tvdb_id, '') AS tvdb_id,
COALESCE(e.still_path, '') AS poster_path,
COALESCE(e.still_thumbhash, '') AS poster_thumbhash,
COALESCE(NULLIF(s.poster_path, ''), NULLIF(si.poster_path, ''), NULLIF(e.still_path, ''), '') AS poster_path,
COALESCE(NULLIF(s.poster_thumbhash, ''), NULLIF(si.poster_thumbhash, ''), NULLIF(e.still_thumbhash, ''), '') AS poster_thumbhash,
COALESCE(si.backdrop_path, '') AS backdrop_path,
COALESCE(si.backdrop_thumbhash, '') AS backdrop_thumbhash,
COALESCE(si.logo_path, '') AS logo_path,
@@ -58,6 +58,7 @@ const episodeCatalogSelectBody = `(
e.updated_at
FROM episodes e
JOIN media_items si ON si.content_id = e.series_id
LEFT JOIN seasons s ON s.content_id = e.season_id
WHERE %s
) mi`
+5 -5
View File
@@ -2153,7 +2153,7 @@ func (f *Fetcher) fetchEpisodeTargetsByContentIDs(ctx context.Context, contentID
effectiveLibraryIDs := effectiveFetchLibraryIDs(libraryIDs, filter)
fromClause := "episodes e JOIN media_items si ON e.series_id = si.content_id"
fromClause := "episodes e JOIN media_items si ON e.series_id = si.content_id LEFT JOIN seasons s ON s.content_id = e.season_id"
if libraryID != nil || effectiveLibraryIDs != nil {
fromClause += " JOIN media_item_libraries mil ON si.content_id = mil.content_id"
}
@@ -2187,16 +2187,16 @@ func (f *Fetcher) fetchEpisodeTargetsByContentIDs(ctx context.Context, contentID
e.overview,
e.runtime,
e.rating_imdb,
e.still_path,
e.still_thumbhash,
COALESCE(NULLIF(s.poster_path, ''), NULLIF(si.poster_path, ''), NULLIF(e.still_path, ''), '') AS poster_path,
COALESCE(NULLIF(s.poster_thumbhash, ''), NULLIF(si.poster_thumbhash, ''), NULLIF(e.still_thumbhash, ''), '') AS poster_thumbhash,
e.season_number,
e.episode_number,
e.air_date,
si.title,
si.genres,
si.content_rating,
si.backdrop_path,
si.backdrop_thumbhash,
COALESCE(NULLIF(e.still_path, ''), NULLIF(si.backdrop_path, ''), '') AS backdrop_path,
COALESCE(NULLIF(e.still_thumbhash, ''), NULLIF(si.backdrop_thumbhash, ''), '') AS backdrop_thumbhash,
si.logo_path,
si.status
FROM %s