Skip to content

Commit 8137a6d

Browse files
committed
fix paging
1 parent a9924a0 commit 8137a6d

File tree

1 file changed

+32
-3
lines changed

1 file changed

+32
-3
lines changed

gitlabLdapGroupSync.js

+32-3
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,16 @@ GitlabLdapGroupSync.prototype.sync = function () {
2929

3030
co(function* () {
3131
// find all users with a ldap identiy
32-
var gitlabUsers = yield gitlab.users.list({ per_page: 999 });
32+
var gitlabUsers = [];
33+
var pagedUsers = [];
34+
var i=0;
35+
do {
36+
i++;
37+
pagedUsers = yield gitlab.users.list({ per_page: 100, page: i });
38+
gitlabUsers.push.apply(gitlabUsers, pagedUsers);
39+
40+
}
41+
while(pagedUsers.length == 100);
3342

3443
var gitlabUserMap = {};
3544
var gitlabLocalUserIds = [];
@@ -52,11 +61,31 @@ GitlabLdapGroupSync.prototype.sync = function () {
5261
console.log(groupMembers);
5362

5463
//set the gitlab group members based on ldap group
55-
var gitlabGroups = yield gitlab.groups.list({ per_page: 999 });
64+
var gitlabGroups = [];
65+
var pagedGroups = [];
66+
var i=0;
67+
do {
68+
i++;
69+
pagedGroups = yield gitlab.groups.list({ per_page: 100, page: i });
70+
gitlabGroups.push.apply(gitlabGroups, pagedGroups);
71+
72+
}
73+
while(pagedGroups.length == 100);
74+
75+
5676
for (var gitlabGroup of gitlabGroups) {
5777
console.log('-------------------------');
5878
console.log('group:', gitlabGroup.name);
59-
var gitlabGroupMembers = yield gitlab.groupMembers.list({ id: gitlabGroup.id, per_page: 999 });
79+
var gitlabGroupMembers = [];
80+
var pagedGroupMembers = [];
81+
var i=0;
82+
do {
83+
i++;
84+
pagedGroupMembers = yield gitlab.groupMembers.list({ id: gitlabGroup.id, per_page: 100, page: i });
85+
gitlabGroupMembers.push.apply(gitlabGroupMembers, pagedGroupMembers);
86+
87+
}
88+
while(pagedGroupMembers.length == 100);
6089

6190
var currentMemberIds = [];
6291
for (var member of gitlabGroupMembers) {

0 commit comments

Comments
 (0)