Skip to content

Commit af880a6

Browse files
authored
fix(watchlist): correctly load more than 20 watchlist items (sct#3351)
* fix(discover): correctly load additional watchlist items pages * chore(discover): remove unused params types
1 parent eb5502a commit af880a6

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

server/routes/discover.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -800,12 +800,12 @@ discoverRoutes.get<{ language: string }, GenreSliderItem[]>(
800800
}
801801
);
802802

803-
discoverRoutes.get<{ page?: number }, WatchlistResponse>(
803+
discoverRoutes.get<Record<string, unknown>, WatchlistResponse>(
804804
'/watchlist',
805805
async (req, res) => {
806806
const userRepository = getRepository(User);
807807
const itemsPerPage = 20;
808-
const page = req.params.page ?? 1;
808+
const page = Number(req.query.page) ?? 1;
809809
const offset = (page - 1) * itemsPerPage;
810810

811811
const activeUser = await userRepository.findOne({
@@ -829,8 +829,8 @@ discoverRoutes.get<{ page?: number }, WatchlistResponse>(
829829

830830
return res.json({
831831
page,
832-
totalPages: Math.ceil(watchlist.size / itemsPerPage),
833-
totalResults: watchlist.size,
832+
totalPages: Math.ceil(watchlist.totalSize / itemsPerPage),
833+
totalResults: watchlist.totalSize,
834834
results: watchlist.items.map((item) => ({
835835
ratingKey: item.ratingKey,
836836
title: item.title,

server/routes/user/index.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -607,7 +607,7 @@ router.get<{ id: string }, UserWatchDataResponse>(
607607
}
608608
);
609609

610-
router.get<{ id: string; page?: number }, WatchlistResponse>(
610+
router.get<{ id: string }, WatchlistResponse>(
611611
'/:id/watchlist',
612612
async (req, res, next) => {
613613
if (
@@ -627,7 +627,7 @@ router.get<{ id: string; page?: number }, WatchlistResponse>(
627627
}
628628

629629
const itemsPerPage = 20;
630-
const page = req.params.page ?? 1;
630+
const page = Number(req.query.page) ?? 1;
631631
const offset = (page - 1) * itemsPerPage;
632632

633633
const user = await getRepository(User).findOneOrFail({
@@ -651,8 +651,8 @@ router.get<{ id: string; page?: number }, WatchlistResponse>(
651651

652652
return res.json({
653653
page,
654-
totalPages: Math.ceil(watchlist.size / itemsPerPage),
655-
totalResults: watchlist.size,
654+
totalPages: Math.ceil(watchlist.totalSize / itemsPerPage),
655+
totalResults: watchlist.totalSize,
656656
results: watchlist.items.map((item) => ({
657657
ratingKey: item.ratingKey,
658658
title: item.title,

0 commit comments

Comments
 (0)