summaryrefslogtreecommitdiffstats
path: root/extensions/PhabBugz/lib/User.pm
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/PhabBugz/lib/User.pm')
-rw-r--r--extensions/PhabBugz/lib/User.pm16
1 files changed, 10 insertions, 6 deletions
diff --git a/extensions/PhabBugz/lib/User.pm b/extensions/PhabBugz/lib/User.pm
index 9d4e9eef4..1bf1a842d 100644
--- a/extensions/PhabBugz/lib/User.pm
+++ b/extensions/PhabBugz/lib/User.pm
@@ -131,14 +131,18 @@ sub match {
attachments => { 'external-accounts' => 1 }
};
+ # We can only fetch 100 users at a time so we need to do this in lumps
my $phab_users = [];
- my $result = request( 'user.search', $data );
-
- if ( exists $result->{result}{data} && @{ $result->{result}{data} } ) {
- foreach my $user ( @{ $result->{result}{data} } ) {
- push @$phab_users, $class->new($user);
+ my $result;
+ do {
+ $result = request( 'user.search', $data );
+ if ( exists $result->{result}{data} && @{ $result->{result}{data} } ) {
+ foreach my $user ( @{ $result->{result}{data} } ) {
+ push @$phab_users, $class->new($user);
+ }
}
- }
+ $data->{after} = $result->{cursor}->{after};
+ } while ($result->{cursor}->{after});
return $phab_users;
}