paginate to get all secrets at once
This commit is contained in:
parent
e160dd3eae
commit
cb60538709
1 changed files with 17 additions and 5 deletions
|
|
@ -179,12 +179,24 @@ type secretsPayload struct {
|
|||
}
|
||||
|
||||
func getSecrets(client *api.Client, host, path string) ([]*Secret, error) {
|
||||
result := secretsPayload{}
|
||||
results := secretsPayload{}
|
||||
|
||||
err := client.REST(host, "GET", path, nil, &result)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
perPage := 100
|
||||
page := 1
|
||||
|
||||
for {
|
||||
result := secretsPayload{}
|
||||
err := client.REST(host, "GET", fmt.Sprintf("%s?per_page=%d&page=%d", path, perPage, page), nil, &result)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
results.Secrets = append(results.Secrets, result.Secrets...)
|
||||
if len(result.Secrets) == 0 || len(result.Secrets) < 100 {
|
||||
break
|
||||
}
|
||||
|
||||
page++
|
||||
}
|
||||
|
||||
return result.Secrets, nil
|
||||
return results.Secrets, nil
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue