@@ -128,7 +128,8 @@ const getPaginatedAllGroupRoles = async (req, res) => {
128
128
try {
129
129
const { page = 0 , size = 10 , dev } = req . query ;
130
130
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 ;
132
133
133
134
if ( limit < 1 || limit > 100 ) {
134
135
return res . boom . badRequest ( "Invalid size. Must be between 1 and 100." ) ;
@@ -139,8 +140,8 @@ const getPaginatedAllGroupRoles = async (req, res) => {
139
140
const { roles, total } = await discordRolesModel . getPaginatedGroupRolesByPage ( { offset, limit } ) ;
140
141
const groupsWithMembershipInfo = await discordRolesModel . enrichGroupDataWithMembershipInfo ( discordId , roles ) ;
141
142
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 ;
144
145
145
146
const baseUrl = `${ req . baseUrl } ${ req . path } ` ;
146
147
const next = nextPage !== null ? `${ baseUrl } ?page=${ nextPage } &size=${ limit } &dev=true` : null ;
0 commit comments