diff options
Diffstat (limited to 'extensions/PhabBugz/lib/User.pm')
-rw-r--r-- | extensions/PhabBugz/lib/User.pm | 16 |
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; } |