fix(promise): fixed a few API endpoints where I forgot to change the maps to await them

I changed mapMovieResult and other equivalents to return Promises and forgot to fix some API
endpoints. So that's fixed now.
pull/3800/head
Anatole Sot 2 weeks ago
parent d750d736fa
commit fe7adb8d1e

@ -127,12 +127,14 @@ discoverRoutes.get('/movies', async (req, res, next) => {
totalPages: data.total_pages,
totalResults: data.total_results,
keywords: keywordData,
results: data.results.map((result) =>
mapMovieResult(
result,
media.find(
(req) =>
req.tmdbId === result.id && req.mediaType === MediaType.MOVIE
results: await Promise.all(
data.results.map((result) =>
mapMovieResult(
result,
media.find(
(req) =>
req.tmdbId === result.id && req.mediaType === MediaType.MOVIE
)
)
)
),
@ -180,12 +182,14 @@ discoverRoutes.get<{ language: string }>(
totalPages: data.total_pages,
totalResults: data.total_results,
language,
results: data.results.map((result) =>
mapMovieResult(
result,
media.find(
(req) =>
req.tmdbId === result.id && req.mediaType === MediaType.MOVIE
results: await Promise.all(
data.results.map((result) =>
mapMovieResult(
result,
media.find(
(req) =>
req.tmdbId === result.id && req.mediaType === MediaType.MOVIE
)
)
)
),
@ -237,12 +241,14 @@ discoverRoutes.get<{ genreId: string }>(
totalPages: data.total_pages,
totalResults: data.total_results,
genre,
results: data.results.map((result) =>
mapMovieResult(
result,
media.find(
(req) =>
req.tmdbId === result.id && req.mediaType === MediaType.MOVIE
results: await Promise.all(
data.results.map((result) =>
mapMovieResult(
result,
media.find(
(req) =>
req.tmdbId === result.id && req.mediaType === MediaType.MOVIE
)
)
)
),
@ -284,12 +290,14 @@ discoverRoutes.get<{ studioId: string }>(
totalPages: data.total_pages,
totalResults: data.total_results,
studio: mapProductionCompany(studio),
results: data.results.map((result) =>
mapMovieResult(
result,
media.find(
(med) =>
med.tmdbId === result.id && med.mediaType === MediaType.MOVIE
results: await Promise.all(
data.results.map((result) =>
mapMovieResult(
result,
media.find(
(med) =>
med.tmdbId === result.id && med.mediaType === MediaType.MOVIE
)
)
)
),
@ -332,12 +340,14 @@ discoverRoutes.get('/movies/upcoming', async (req, res, next) => {
page: data.page,
totalPages: data.total_pages,
totalResults: data.total_results,
results: data.results.map((result) =>
mapMovieResult(
result,
media.find(
(med) =>
med.tmdbId === result.id && med.mediaType === MediaType.MOVIE
results: await Promise.all(
data.results.map((result) =>
mapMovieResult(
result,
media.find(
(med) =>
med.tmdbId === result.id && med.mediaType === MediaType.MOVIE
)
)
)
),
@ -404,11 +414,14 @@ discoverRoutes.get('/tv', async (req, res, next) => {
totalPages: data.total_pages,
totalResults: data.total_results,
keywords: keywordData,
results: data.results.map((result) =>
mapTvResult(
result,
media.find(
(med) => med.tmdbId === result.id && med.mediaType === MediaType.TV
results: await Promise.all(
data.results.map((result) =>
mapTvResult(
result,
media.find(
(med) =>
med.tmdbId === result.id && med.mediaType === MediaType.TV
)
)
)
),
@ -456,12 +469,14 @@ discoverRoutes.get<{ language: string }>(
totalPages: data.total_pages,
totalResults: data.total_results,
language,
results: data.results.map((result) =>
mapTvResult(
result,
media.find(
(med) =>
med.tmdbId === result.id && med.mediaType === MediaType.TV
results: await Promise.all(
data.results.map((result) =>
mapTvResult(
result,
media.find(
(med) =>
med.tmdbId === result.id && med.mediaType === MediaType.TV
)
)
)
),
@ -513,12 +528,14 @@ discoverRoutes.get<{ genreId: string }>(
totalPages: data.total_pages,
totalResults: data.total_results,
genre,
results: data.results.map((result) =>
mapTvResult(
result,
media.find(
(med) =>
med.tmdbId === result.id && med.mediaType === MediaType.TV
results: await Promise.all(
data.results.map((result) =>
mapTvResult(
result,
media.find(
(med) =>
med.tmdbId === result.id && med.mediaType === MediaType.TV
)
)
)
),
@ -560,12 +577,14 @@ discoverRoutes.get<{ networkId: string }>(
totalPages: data.total_pages,
totalResults: data.total_results,
network: mapNetwork(network),
results: data.results.map((result) =>
mapTvResult(
result,
media.find(
(med) =>
med.tmdbId === result.id && med.mediaType === MediaType.TV
results: await Promise.all(
data.results.map((result) =>
mapTvResult(
result,
media.find(
(med) =>
med.tmdbId === result.id && med.mediaType === MediaType.TV
)
)
)
),
@ -608,11 +627,14 @@ discoverRoutes.get('/tv/upcoming', async (req, res, next) => {
page: data.page,
totalPages: data.total_pages,
totalResults: data.total_results,
results: data.results.map((result) =>
mapTvResult(
result,
media.find(
(med) => med.tmdbId === result.id && med.mediaType === MediaType.TV
results: await Promise.all(
data.results.map((result) =>
mapTvResult(
result,
media.find(
(med) =>
med.tmdbId === result.id && med.mediaType === MediaType.TV
)
)
)
),
@ -637,35 +659,36 @@ discoverRoutes.get('/trending', async (req, res, next) => {
page: Number(req.query.page),
language: (req.query.language as string) ?? req.locale,
});
const media = await Media.getRelatedMedia(
data.results.map((result) => result.id)
);
return res.status(200).json({
page: data.page,
totalPages: data.total_pages,
totalResults: data.total_results,
results: data.results.map((result) =>
isMovie(result)
? mapMovieResult(
result,
media.find(
(med) =>
med.tmdbId === result.id && med.mediaType === MediaType.MOVIE
)
)
: isPerson(result)
? mapPersonResult(result)
: isCollection(result)
? mapCollectionResult(result)
: mapTvResult(
result,
media.find(
(med) =>
med.tmdbId === result.id && med.mediaType === MediaType.TV
results: await Promise.all(
data.results.map((result) => {
return isMovie(result)
? mapMovieResult(
result,
media.find(
(med) =>
med.tmdbId === result.id &&
med.mediaType === MediaType.MOVIE
)
)
)
: isPerson(result)
? mapPersonResult(result)
: isCollection(result)
? mapCollectionResult(result)
: mapTvResult(
result,
media.find(
(med) =>
med.tmdbId === result.id && med.mediaType === MediaType.TV
)
);
})
),
});
} catch (e) {
@ -700,12 +723,14 @@ discoverRoutes.get<{ keywordId: string }>(
page: data.page,
totalPages: data.total_pages,
totalResults: data.total_results,
results: data.results.map((result) =>
mapMovieResult(
result,
media.find(
(med) =>
med.tmdbId === result.id && med.mediaType === MediaType.MOVIE
results: await Promise.all(
data.results.map((result) =>
mapMovieResult(
result,
media.find(
(med) =>
med.tmdbId === result.id && med.mediaType === MediaType.MOVIE
)
)
)
),

@ -54,12 +54,14 @@ movieRoutes.get('/:id/recommendations', async (req, res, next) => {
page: results.page,
totalPages: results.total_pages,
totalResults: results.total_results,
results: results.results.map((result) =>
mapMovieResult(
result,
media.find(
(req) =>
req.tmdbId === result.id && req.mediaType === MediaType.MOVIE
results: await Promise.all(
results.results.map((result) =>
mapMovieResult(
result,
media.find(
(req) =>
req.tmdbId === result.id && req.mediaType === MediaType.MOVIE
)
)
)
),
@ -95,12 +97,14 @@ movieRoutes.get('/:id/similar', async (req, res, next) => {
page: results.page,
totalPages: results.total_pages,
totalResults: results.total_results,
results: results.results.map((result) =>
mapMovieResult(
result,
media.find(
(req) =>
req.tmdbId === result.id && req.mediaType === MediaType.MOVIE
results: await Promise.all(
results.results.map((result) =>
mapMovieResult(
result,
media.find(
(req) =>
req.tmdbId === result.id && req.mediaType === MediaType.MOVIE
)
)
)
),

@ -76,11 +76,14 @@ tvRoutes.get('/:id/recommendations', async (req, res, next) => {
page: results.page,
totalPages: results.total_pages,
totalResults: results.total_results,
results: results.results.map((result) =>
mapTvResult(
result,
media.find(
(req) => req.tmdbId === result.id && req.mediaType === MediaType.TV
results: await Promise.all(
results.results.map((result) =>
mapTvResult(
result,
media.find(
(req) =>
req.tmdbId === result.id && req.mediaType === MediaType.TV
)
)
)
),
@ -116,11 +119,14 @@ tvRoutes.get('/:id/similar', async (req, res, next) => {
page: results.page,
totalPages: results.total_pages,
totalResults: results.total_results,
results: results.results.map((result) =>
mapTvResult(
result,
media.find(
(req) => req.tmdbId === result.id && req.mediaType === MediaType.TV
results: await Promise.all(
results.results.map((result) =>
mapTvResult(
result,
media.find(
(req) =>
req.tmdbId === result.id && req.mediaType === MediaType.TV
)
)
)
),

Loading…
Cancel
Save