From 12f908de7f5fbd717a5f151858b6edee3be13ed9 Mon Sep 17 00:00:00 2001 From: Gauthier Date: Tue, 13 Aug 2024 10:41:59 +0200 Subject: [PATCH] fix(tmdb): fallback movie/show overview to English when none is available in requested locale (#928) This PR adds a second call to TMDB to retried the overview in English if no overview is available in the requested locale fix #925 --- server/routes/movie.ts | 12 +++++++++--- server/routes/tv.ts | 10 +++++++++- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/server/routes/movie.ts b/server/routes/movie.ts index 833e9255..80b8a300 100644 --- a/server/routes/movie.ts +++ b/server/routes/movie.ts @@ -33,9 +33,15 @@ movieRoutes.get('/:id', async (req, res, next) => { }, }); - return res - .status(200) - .json(mapMovieDetails(tmdbMovie, media, onUserWatchlist)); + const data = mapMovieDetails(tmdbMovie, media, onUserWatchlist); + + // TMDB issue where it doesnt fallback to English when no overview is available in requested locale. + if (!data.overview) { + const tvEnglish = await tmdb.getMovie({ movieId: Number(req.params.id) }); + data.overview = tvEnglish.overview; + } + + return res.status(200).json(data); } catch (e) { logger.debug('Something went wrong retrieving movie', { label: 'API', diff --git a/server/routes/tv.ts b/server/routes/tv.ts index 2f42c0dc..4a106d60 100644 --- a/server/routes/tv.ts +++ b/server/routes/tv.ts @@ -30,7 +30,15 @@ tvRoutes.get('/:id', async (req, res, next) => { }, }); - return res.status(200).json(mapTvDetails(tv, media, onUserWatchlist)); + const data = mapTvDetails(tv, media, onUserWatchlist); + + // TMDB issue where it doesnt fallback to English when no overview is available in requested locale. + if (!data.overview) { + const tvEnglish = await tmdb.getTvShow({ tvId: Number(req.params.id) }); + data.overview = tvEnglish.overview; + } + + return res.status(200).json(data); } catch (e) { logger.debug('Something went wrong retrieving series', { label: 'API',