From fd16f757be7471d444c90765e2e43bbe85962d2a Mon Sep 17 00:00:00 2001 From: Daniel Lugo Date: Sat, 11 Jul 2020 14:53:06 -0400 Subject: [PATCH] forbid page zero for wall --- services/gunDB/contact-api/getters/wall.js | 9 ++++----- src/routes.js | 7 +++++++ 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/services/gunDB/contact-api/getters/wall.js b/services/gunDB/contact-api/getters/wall.js index f639780e..73eb210f 100644 --- a/services/gunDB/contact-api/getters/wall.js +++ b/services/gunDB/contact-api/getters/wall.js @@ -38,11 +38,10 @@ const getWallTotalPages = async publicKey => { const getWallPage = async (page, publicKey) => { const totalPages = await getWallTotalPages(publicKey) - if (page === 0 || totalPages === 0) { - return { - count: 0, - posts: {} - } + if (page === 0) { + throw new RangeError( + `Page number cannot be zero, only positive and negative integers are allowed.` + ) } const actualPageIdx = page < 0 ? totalPages + page : page - 1 diff --git a/src/routes.js b/src/routes.js index 35914618..09ef42ae 100644 --- a/src/routes.js +++ b/src/routes.js @@ -1856,6 +1856,13 @@ module.exports = async ( }) } + if (pageNum === 0) { + return res.status(400).json({ + field: 'page', + errorMessage: 'Page must be a non-zero integer' + }) + } + const totalPages = await GunGetters.getWallTotalPages(publicKey) const fetchedPage = await GunGetters.getWallPage(pageNum, publicKey)