Commit 441696d

mo khan <mo@mokhan.ca>
2024-06-05 18:11:33
Extract EachIssue function to allow support for paginating through results
1 parent 9d425f0
Changed files (2)
cmd
stanuki
pkg
gitlab
cmd/stanuki/main.go
@@ -11,8 +11,7 @@ import (
 func main() {
 	gl := gitlab.New(context.TODO(), env.Fetch("GITLAB_TOKEN", ""))
 
-	issues := gl.Group(9970).Issues()
-	for _, issue := range issues {
+	gl.Group(9970).EachIssue(func(issue *gitlab.Issue) {
 		fmt.Printf("%v: %v\n", issue.ID, issue.Title)
-	}
+	})
 }
pkg/gitlab/group.go
@@ -20,9 +20,11 @@ func NewGroup(gl *GitLab, id int) *Group {
 	}
 }
 
-func (group *Group) Issues() []Issue {
+func (group *Group) EachIssue(fn func(*Issue)) {
 	response := group.api.Get(group.url + "/issues")
 	defer response.Body.Close()
 
-	return x.Must(FromIssues(response.Body))
+	for _, issue := range x.Must(FromIssues(response.Body)) {
+		fn(&issue)
+	}
 }