init
This commit is contained in:
70
main.go
Normal file
70
main.go
Normal file
@@ -0,0 +1,70 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"code.gitea.io/sdk/gitea"
|
||||
)
|
||||
|
||||
type Repo struct {
|
||||
owner string
|
||||
repo string
|
||||
}
|
||||
|
||||
func main() {
|
||||
client, err := gitea.NewClient(
|
||||
"https://git.schreifuchs.ch",
|
||||
gitea.SetToken("6a8ea8f9de039b0950c634bfea40c6f97f94b06b"),
|
||||
)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
var issues []*gitea.Issue
|
||||
for _, repo := range []Repo{
|
||||
{"lou-taylor", "lou-taylor-web"},
|
||||
{"lou-taylor", "lou-taylor-api"},
|
||||
{"lou-taylor", "accounting"},
|
||||
} {
|
||||
iss, _, err := client.ListRepoIssues(
|
||||
repo.owner,
|
||||
repo.repo,
|
||||
gitea.ListIssueOption{
|
||||
ListOptions: gitea.ListOptions{Page: 0, PageSize: 99999},
|
||||
Since: time.Now().AddDate(0, -1, 0),
|
||||
Before: time.Now(),
|
||||
},
|
||||
)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
issues = append(issues, iss...)
|
||||
}
|
||||
// for _, issue := range issues {
|
||||
// fmt.Println(issue.Body)
|
||||
// }
|
||||
//
|
||||
issues = Filter(
|
||||
issues,
|
||||
func(i *gitea.Issue) bool {
|
||||
return i.Closed != nil && i.Closed.After(time.Now().AddDate(0, -1, 0))
|
||||
},
|
||||
)
|
||||
|
||||
json.NewEncoder(os.Stdout).Encode(issues)
|
||||
}
|
||||
|
||||
func Filter[T any](slice []T, ok func(T) bool) []T {
|
||||
out := make([]T, 0, len(slice))
|
||||
|
||||
for _, item := range slice {
|
||||
if ok(item) {
|
||||
out = append(out, item)
|
||||
}
|
||||
}
|
||||
|
||||
return out
|
||||
}
|
||||
Reference in New Issue
Block a user