diff --git a/server/lib/cache.ts b/server/lib/cache.ts index 64b5c79e..f801f86e 100644 --- a/server/lib/cache.ts +++ b/server/lib/cache.ts @@ -4,6 +4,8 @@ export type AvailableCacheIds = | 'tmdb' | 'radarr' | 'sonarr' + | 'lidarr' + | 'readarr' | 'rt' | 'imdb' | 'github' @@ -50,6 +52,8 @@ class CacheManager { }), radarr: new Cache('radarr', 'Radarr API'), sonarr: new Cache('sonarr', 'Sonarr API'), + lidarr: new Cache('lidarr', 'Lidarr API'), + readarr: new Cache('readarr', 'Readarr API'), rt: new Cache('rt', 'Rotten Tomatoes API', { stdTtl: 43200, checkPeriod: 60 * 30, diff --git a/server/routes/discover.ts b/server/routes/discover.ts index c2c10515..ea351854 100644 --- a/server/routes/discover.ts +++ b/server/routes/discover.ts @@ -737,7 +737,9 @@ discoverRoutes.get('/trending', async (req, res, next) => { }), } as const; - const { data, mapper, type } = await trendingFetchers[mediaType](); + // Music/book don't have TMDB trending - fall back to 'all' + const fetcherKey = (mediaType === 'music' || mediaType === 'book') ? 'all' : mediaType; + const { data, mapper, type } = await trendingFetchers[fetcherKey](); const media = await Media.getRelatedMedia( req.user,