fix: disambiguate tmdb ids by media type across lookups (#2577)

This commit is contained in:
fallenbagel
2026-03-14 23:47:21 +05:00
committed by GitHub
parent d25d0ca570
commit 0be18968b4
22 changed files with 479 additions and 70 deletions

View File

@@ -124,7 +124,10 @@ discoverRoutes.get('/movies', async (req, res, next) => {
const media = await Media.getRelatedMedia(
req.user,
data.results.map((result) => result.id)
data.results.map((result) => ({
tmdbId: result.id,
mediaType: MediaType.MOVIE,
}))
);
let keywordData: TmdbKeyword[] = [];
@@ -193,7 +196,10 @@ discoverRoutes.get<{ language: string }>(
const media = await Media.getRelatedMedia(
req.user,
data.results.map((result) => result.id)
data.results.map((result) => ({
tmdbId: result.id,
mediaType: MediaType.MOVIE,
}))
);
return res.status(200).json({
@@ -251,7 +257,10 @@ discoverRoutes.get<{ genreId: string }>(
const media = await Media.getRelatedMedia(
req.user,
data.results.map((result) => result.id)
data.results.map((result) => ({
tmdbId: result.id,
mediaType: MediaType.MOVIE,
}))
);
return res.status(200).json({
@@ -299,7 +308,10 @@ discoverRoutes.get<{ studioId: string }>(
const media = await Media.getRelatedMedia(
req.user,
data.results.map((result) => result.id)
data.results.map((result) => ({
tmdbId: result.id,
mediaType: MediaType.MOVIE,
}))
);
return res.status(200).json({
@@ -349,7 +361,10 @@ discoverRoutes.get('/movies/upcoming', async (req, res, next) => {
const media = await Media.getRelatedMedia(
req.user,
data.results.map((result) => result.id)
data.results.map((result) => ({
tmdbId: result.id,
mediaType: MediaType.MOVIE,
}))
);
return res.status(200).json({
@@ -417,7 +432,10 @@ discoverRoutes.get('/tv', async (req, res, next) => {
const media = await Media.getRelatedMedia(
req.user,
data.results.map((result) => result.id)
data.results.map((result) => ({
tmdbId: result.id,
mediaType: MediaType.TV,
}))
);
let keywordData: TmdbKeyword[] = [];
@@ -485,7 +503,10 @@ discoverRoutes.get<{ language: string }>(
const media = await Media.getRelatedMedia(
req.user,
data.results.map((result) => result.id)
data.results.map((result) => ({
tmdbId: result.id,
mediaType: MediaType.TV,
}))
);
return res.status(200).json({
@@ -543,7 +564,10 @@ discoverRoutes.get<{ genreId: string }>(
const media = await Media.getRelatedMedia(
req.user,
data.results.map((result) => result.id)
data.results.map((result) => ({
tmdbId: result.id,
mediaType: MediaType.TV,
}))
);
return res.status(200).json({
@@ -591,7 +615,10 @@ discoverRoutes.get<{ networkId: string }>(
const media = await Media.getRelatedMedia(
req.user,
data.results.map((result) => result.id)
data.results.map((result) => ({
tmdbId: result.id,
mediaType: MediaType.TV,
}))
);
return res.status(200).json({
@@ -641,7 +668,10 @@ discoverRoutes.get('/tv/upcoming', async (req, res, next) => {
const media = await Media.getRelatedMedia(
req.user,
data.results.map((result) => result.id)
data.results.map((result) => ({
tmdbId: result.id,
mediaType: MediaType.TV,
}))
);
return res.status(200).json({
@@ -711,7 +741,10 @@ discoverRoutes.get('/trending', async (req, res, next) => {
const media = await Media.getRelatedMedia(
req.user,
data.results.map((result) => result.id)
data.results.map((result) => ({
tmdbId: result.id,
mediaType: isMovie(result) ? MediaType.MOVIE : MediaType.TV,
}))
);
return res.status(200).json({
@@ -755,7 +788,10 @@ discoverRoutes.get<{ keywordId: string }>(
const media = await Media.getRelatedMedia(
req.user,
data.results.map((result) => result.id)
data.results.map((result) => ({
tmdbId: result.id,
mediaType: MediaType.MOVIE,
}))
);
return res.status(200).json({