Skip to content

Commit f974a4a

Browse files
fix: correctly parse pageNumber in pagination logic
1 parent 8d40ebc commit f974a4a

File tree

4 files changed

+12
-10
lines changed

4 files changed

+12
-10
lines changed

controllers/auction.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ const createNewAuction = async (req, res) => {
5353
const { initial_price: initialPrice, item_type: itemType, end_time: endTime, quantity } = req.body;
5454

5555
const { currencies } = await wallet.fetchWallet(seller);
56-
const itemQuantity = Number.parseInt(currencies[`${itemType}`]);
56+
const itemQuantity = Number.parseInt(currencies[`${itemType}`], 10);
5757
if (!itemQuantity || itemQuantity < quantity) return res.boom.forbidden(`You do not have enough of ${itemType}s!`);
5858

5959
const auctionId = await auctions.createNewAuction({ seller, initialPrice, itemType, endTime, quantity });

controllers/discordactions.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,8 @@ const getPaginatedAllGroupRoles = async (req, res) => {
128128
try {
129129
const { page = 0, size = 10, dev } = req.query;
130130
const limit = Number.parseInt(size, 10) || 10;
131-
const offset = Number.parseInt(page, 10) * limit;
131+
const pageNumber = Number.isNaN(Number.parseInt(page, 10)) ? 0 : Number.parseInt(page, 10);
132+
const offset = pageNumber * limit;
132133

133134
if (limit < 1 || limit > 100) {
134135
return res.boom.badRequest("Invalid size. Must be between 1 and 100.");
@@ -139,8 +140,8 @@ const getPaginatedAllGroupRoles = async (req, res) => {
139140
const { roles, total } = await discordRolesModel.getPaginatedGroupRolesByPage({ offset, limit });
140141
const groupsWithMembershipInfo = await discordRolesModel.enrichGroupDataWithMembershipInfo(discordId, roles);
141142

142-
const nextPage = offset + limit < total ? Number.parseInt(page, 10) + 1 : null;
143-
const prevPage = page > 0 ? Number.parseInt(page, 10) - 1 : null;
143+
const nextPage = offset + limit < total ? pageNumber + 1 : null;
144+
const prevPage = pageNumber > 0 ? pageNumber - 1 : null;
144145

145146
const baseUrl = `${req.baseUrl}${req.path}`;
146147
const next = nextPage !== null ? `${baseUrl}?page=${nextPage}&size=${limit}&dev=true` : null;

controllers/progresses.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -116,10 +116,11 @@ const getProgress = async (req, res) => {
116116
try {
117117
if (dev === "true") {
118118
const { progressDocs, totalProgressCount } = await progressesModel.getPaginatedProgressDocument(req.query);
119-
const limit = Number.parseInt(size, 10);
120-
const offset = Number.parseInt(page, 10) * limit;
121-
const nextPage = offset + limit < totalProgressCount ? Number.parseInt(page, 10) + 1 : null;
122-
const prevPage = page > 0 ? Number.parseInt(page, 10) - 1 : null;
119+
const limit = Number.parseInt(size, 10) || 100;
120+
const pageNumber = Number.isNaN(Number.parseInt(page, 10)) ? 0 : Number.parseInt(page, 10);
121+
const offset = pageNumber * limit;
122+
const nextPage = offset + limit < totalProgressCount ? pageNumber + 1 : null;
123+
const prevPage = pageNumber > 0 ? pageNumber - 1 : null;
123124
let baseUrl = `${req.baseUrl}`;
124125
if (type) {
125126
baseUrl += `?type=${type}`;

controllers/users.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -928,8 +928,8 @@ const filterUsers = async (req, res) => {
928928
});
929929
}
930930
const { page, size } = req.query;
931-
const pageNumber = Number.parseInt(page) || 0;
932-
const limitNumber = Number.parseInt(size) || 100;
931+
const pageNumber = Number.parseInt(page, 10) || 0;
932+
const limitNumber = Number.parseInt(size, 10) || 100;
933933
const skip = (pageNumber - 1) * limitNumber;
934934

935935
const users = await dataAccess.retreiveFilteredUsers(req.query, skip, limitNumber);

0 commit comments

Comments
 (0)