diff --git a/controller/src/user/api.rs b/controller/src/user/api.rs index c9b82e1..861db83 100644 --- a/controller/src/user/api.rs +++ b/controller/src/user/api.rs @@ -79,18 +79,18 @@ async fn list_users( query: Query<PaginationParams<EmptyScanParams, UserPage>>, ) -> Result<HttpResponseOk<ResultsPage<User>>, HttpError> { let pag_params = query.into_inner(); - let limit = rqctx.page_limit(&pag_params)?.get() as i64; + let limit = rqctx.page_limit(&pag_params)?.get() as usize; let pg = rqctx.context().pg_pool.to_owned(); - let last_seen = match &pag_params.page { - WhichPage::Next(UserPage { user_id: id }) => Some(id), - _ => None, + let q = match &pag_params.page { + WhichPage::First(..) => None, + WhichPage::Next(UserPage { user_id: last_seen }) => Some(last_seen), }; let users = sqlx::query!( r#"SELECT * FROM users WHERE id > coalesce($1, '00000000-0000-0000-0000-000000000000'::UUID) ORDER BY id LIMIT $2"#, - last_seen, - limit + q, + limit as i64 ) .fetch_all(&pg) .await