X Tutup
Skip to content

Commit cb60538

Browse files
g14amislav
authored andcommitted
paginate to get all secrets at once
1 parent e160dd3 commit cb60538

File tree

1 file changed

+17
-5
lines changed

1 file changed

+17
-5
lines changed

pkg/cmd/secret/list/list.go

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -179,12 +179,24 @@ type secretsPayload struct {
179179
}
180180

181181
func getSecrets(client *api.Client, host, path string) ([]*Secret, error) {
182-
result := secretsPayload{}
182+
results := secretsPayload{}
183183

184-
err := client.REST(host, "GET", path, nil, &result)
185-
if err != nil {
186-
return nil, err
184+
perPage := 100
185+
page := 1
186+
187+
for {
188+
result := secretsPayload{}
189+
err := client.REST(host, "GET", fmt.Sprintf("%s?per_page=%d&page=%d", path, perPage, page), nil, &result)
190+
if err != nil {
191+
return nil, err
192+
}
193+
results.Secrets = append(results.Secrets, result.Secrets...)
194+
if len(result.Secrets) == 0 || len(result.Secrets) < 100 {
195+
break
196+
}
197+
198+
page++
187199
}
188200

189-
return result.Secrets, nil
201+
return results.Secrets, nil
190202
}

0 commit comments

Comments
 (0)
X Tutup