From d8dcf636ea15e4820c1026638fd6357607910757 Mon Sep 17 00:00:00 2001 From: William Petit Date: Fri, 2 Apr 2021 10:54:49 +0200 Subject: [PATCH] =?UTF-8?q?Prise=20en=20compte=20de=20la=20pagination=20su?= =?UTF-8?q?r=20la=20r=C3=A9cup=C3=A9ration=20des=20projets?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/src/store/sagas/projects.ts | 14 +++++++++++--- client/src/util/gitea.ts | 4 ++-- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/client/src/store/sagas/projects.ts b/client/src/store/sagas/projects.ts index 3a1a0d8..ff17a20 100644 --- a/client/src/store/sagas/projects.ts +++ b/client/src/store/sagas/projects.ts @@ -3,10 +3,18 @@ import { FETCH_PROJECTS_SUCCESS, FETCH_PROJECTS_FAILURE } from '../actions/proje import { gitea } from '../../util/gitea'; export function* fetchProjectsSaga() { - - let projects; + let projects = []; try { - projects = yield call(gitea.fetchUserProjects.bind(gitea)) + let page = 1; + while(true) { + let pageProjects = yield call(gitea.fetchUserProjects.bind(gitea), page); + if (pageProjects.length === 0) { + break; + } + projects.push(...pageProjects); + page++; + } + } catch(error) { yield put({ type: FETCH_PROJECTS_FAILURE, error }); return; diff --git a/client/src/util/gitea.ts b/client/src/util/gitea.ts index faff29b..0c65c56 100644 --- a/client/src/util/gitea.ts +++ b/client/src/util/gitea.ts @@ -16,8 +16,8 @@ export class GiteaClient { ; } - fetchUserProjects() { - return fetch(`/gitea/api/v1/user/repos`) + fetchUserProjects(page = 1) { + return fetch(`/gitea/api/v1/user/repos?page=${page}`) .then(this.assertAuthorization) .then(this.assertOk) .then(res => res.json())