From af880a6c839794b34bddcd7e0fe56353aa48ba36 Mon Sep 17 00:00:00 2001 From: Danshil Kokil Mungur Date: Fri, 24 Feb 2023 04:40:01 +0400 Subject: [PATCH] fix(watchlist): correctly load more than 20 watchlist items (#3351) * fix(discover): correctly load additional watchlist items pages * chore(discover): remove unused params types --- server/routes/discover.ts | 8 ++++---- server/routes/user/index.ts | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/server/routes/discover.ts b/server/routes/discover.ts index 2c3c665f..f032fa66 100644 --- a/server/routes/discover.ts +++ b/server/routes/discover.ts @@ -800,12 +800,12 @@ discoverRoutes.get<{ language: string }, GenreSliderItem[]>( } ); -discoverRoutes.get<{ page?: number }, WatchlistResponse>( +discoverRoutes.get, WatchlistResponse>( '/watchlist', async (req, res) => { const userRepository = getRepository(User); const itemsPerPage = 20; - const page = req.params.page ?? 1; + const page = Number(req.query.page) ?? 1; const offset = (page - 1) * itemsPerPage; const activeUser = await userRepository.findOne({ @@ -829,8 +829,8 @@ discoverRoutes.get<{ page?: number }, WatchlistResponse>( return res.json({ page, - totalPages: Math.ceil(watchlist.size / itemsPerPage), - totalResults: watchlist.size, + totalPages: Math.ceil(watchlist.totalSize / itemsPerPage), + totalResults: watchlist.totalSize, results: watchlist.items.map((item) => ({ ratingKey: item.ratingKey, title: item.title, diff --git a/server/routes/user/index.ts b/server/routes/user/index.ts index f77b7e51..ea709caf 100644 --- a/server/routes/user/index.ts +++ b/server/routes/user/index.ts @@ -607,7 +607,7 @@ router.get<{ id: string }, UserWatchDataResponse>( } ); -router.get<{ id: string; page?: number }, WatchlistResponse>( +router.get<{ id: string }, WatchlistResponse>( '/:id/watchlist', async (req, res, next) => { if ( @@ -627,7 +627,7 @@ router.get<{ id: string; page?: number }, WatchlistResponse>( } const itemsPerPage = 20; - const page = req.params.page ?? 1; + const page = Number(req.query.page) ?? 1; const offset = (page - 1) * itemsPerPage; const user = await getRepository(User).findOneOrFail({ @@ -651,8 +651,8 @@ router.get<{ id: string; page?: number }, WatchlistResponse>( return res.json({ page, - totalPages: Math.ceil(watchlist.size / itemsPerPage), - totalResults: watchlist.size, + totalPages: Math.ceil(watchlist.totalSize / itemsPerPage), + totalResults: watchlist.totalSize, results: watchlist.items.map((item) => ({ ratingKey: item.ratingKey, title: item.title,