Prise en compte de la pagination sur la récupération des projets

This commit is contained in:
wpetit 2021-04-02 10:54:49 +02:00
parent 6bb8afd914
commit d8dcf636ea
2 changed files with 13 additions and 5 deletions

View File

@ -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;

View File

@ -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())