mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2026-03-12 06:08:07 +01:00
Revert repos pagination for GH and BB (#5924)
This commit is contained in:
@@ -181,6 +181,12 @@ func (c *config) Repo(ctx context.Context, u *model.User, remoteID model.ForgeRe
|
||||
// Repos returns a list of all repositories for Bitbucket account, including
|
||||
// organization repositories.
|
||||
func (c *config) Repos(ctx context.Context, u *model.User, p *model.ListOptions) ([]*model.Repo, error) {
|
||||
// we paginate internally (https://github.com/woodpecker-ci/woodpecker/issues/5667)
|
||||
// we merge data from different sources
|
||||
if p.Page != 1 {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
setListOptions(p)
|
||||
|
||||
client := c.newClient(ctx, u)
|
||||
|
||||
@@ -31,7 +31,6 @@ const (
|
||||
hookPullUpdated = "pullrequest:updated"
|
||||
hookPullMerged = "pullrequest:fulfilled"
|
||||
hookPullDeclined = "pullrequest:rejected"
|
||||
stateOpen = "OPEN"
|
||||
stateClosed = "MERGED"
|
||||
stateDeclined = "DECLINED"
|
||||
)
|
||||
|
||||
@@ -226,22 +226,30 @@ func (c *client) Repo(ctx context.Context, u *model.User, id model.ForgeRemoteID
|
||||
// Repos returns a list of all repositories for GitHub account, including
|
||||
// organization repositories.
|
||||
func (c *client) Repos(ctx context.Context, u *model.User, p *model.ListOptions) ([]*model.Repo, error) {
|
||||
client := c.newClientToken(ctx, u.AccessToken)
|
||||
list, _, err := client.Repositories.ListByAuthenticatedUser(ctx, &github.RepositoryListByAuthenticatedUserOptions{
|
||||
ListOptions: github.ListOptions{
|
||||
Page: p.Page,
|
||||
PerPage: perPage(p.PerPage),
|
||||
},
|
||||
})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
// we paginate internally (https://github.com/woodpecker-ci/woodpecker/issues/5667)
|
||||
if p.Page != 1 {
|
||||
return nil, nil
|
||||
}
|
||||
repos := make([]*model.Repo, 0, len(list))
|
||||
for _, repo := range list {
|
||||
if repo.GetArchived() {
|
||||
continue
|
||||
|
||||
client := c.newClientToken(ctx, u.AccessToken)
|
||||
|
||||
opts := new(github.RepositoryListByAuthenticatedUserOptions)
|
||||
opts.PerPage = 100
|
||||
opts.Page = 1
|
||||
|
||||
var repos []*model.Repo
|
||||
for opts.Page > 0 {
|
||||
list, resp, err := client.Repositories.ListByAuthenticatedUser(ctx, opts)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
repos = append(repos, convertRepo(repo))
|
||||
for _, repo := range list {
|
||||
if repo.GetArchived() {
|
||||
continue
|
||||
}
|
||||
repos = append(repos, convertRepo(repo))
|
||||
}
|
||||
opts.Page = resp.NextPage
|
||||
}
|
||||
return repos, nil
|
||||
}
|
||||
@@ -301,7 +309,7 @@ func (c *client) Dir(ctx context.Context, u *model.User, r *model.Repo, b *model
|
||||
|
||||
var files []*forge_types.FileMeta
|
||||
|
||||
for i := 0; i < len(data); i++ {
|
||||
for range data {
|
||||
select {
|
||||
case err := <-errChan:
|
||||
return nil, err
|
||||
|
||||
@@ -199,10 +199,7 @@ func (g *GitLab) Teams(ctx context.Context, user *model.User, p *model.ListOptio
|
||||
return nil, err
|
||||
}
|
||||
|
||||
perPage := p.PerPage
|
||||
if perPage > defaultPerPage {
|
||||
perPage = defaultPerPage
|
||||
}
|
||||
perPage := min(p.PerPage, defaultPerPage)
|
||||
|
||||
groups, _, err := client.Groups.ListGroups(&gitlab.ListGroupsOptions{
|
||||
ListOptions: gitlab.ListOptions{
|
||||
@@ -294,10 +291,7 @@ func (g *GitLab) Repos(ctx context.Context, user *model.User, p *model.ListOptio
|
||||
return nil, err
|
||||
}
|
||||
|
||||
perPage := p.PerPage
|
||||
if perPage > defaultPerPage {
|
||||
perPage = defaultPerPage
|
||||
}
|
||||
perPage := min(p.PerPage, defaultPerPage)
|
||||
|
||||
opts := &gitlab.ListProjectsOptions{
|
||||
ListOptions: gitlab.ListOptions{
|
||||
|
||||
Reference in New Issue
Block a user