aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Scharinger <rng.dynamics@gmail.com>2020-12-18 22:12:29 +0100
committerAlexander Scharinger <rng.dynamics@gmail.com>2021-01-24 21:30:44 +0100
commitd08f01c8c3a763be4b2618caeca2bc8ad642fc6e (patch)
tree83d6e062de15352ae0e933763b5b6b505c9b31bd
parent0baf65cd6404219881fb6767b0fde2bf1bb12b75 (diff)
downloadgit-bug-d08f01c8c3a763be4b2618caeca2bc8ad642fc6e.tar.gz
Add GraphQL github issue query
-rw-r--r--bridge/github/import_query.go17
-rw-r--r--bridge/github/iterator.go23
2 files changed, 40 insertions, 0 deletions
diff --git a/bridge/github/import_query.go b/bridge/github/import_query.go
index 264f5c22..a791a88b 100644
--- a/bridge/github/import_query.go
+++ b/bridge/github/import_query.go
@@ -203,3 +203,20 @@ type loginQuery struct {
Login string `graphql:"login"`
} `graphql:"viewer"`
}
+
+type issueQuery struct {
+ Repository struct {
+ Issues struct {
+ Nodes []issue
+ PageInfo pageInfo
+ } `graphql:"issues(first: $issueFirst, after: $issueAfter, orderBy: {field: CREATED_AT, direction: ASC})"` //, filterBy: {since: $issueSince})"`
+ } `graphql:"repository(owner: $owner, name: $name)"`
+}
+
+type issue struct {
+ authorEvent
+ Title string
+ Number githubv4.Int
+ Body githubv4.String
+ Url githubv4.URI
+}
diff --git a/bridge/github/iterator.go b/bridge/github/iterator.go
index a9f4bd59..f6a5fbd5 100644
--- a/bridge/github/iterator.go
+++ b/bridge/github/iterator.go
@@ -8,6 +8,29 @@ import (
"github.com/shurcooL/githubv4"
)
+type iterator_A struct {
+ gc *githubv4.Client
+ since time.Time
+ ctx context.Context
+ err error
+ issueIter issueIter
+}
+
+type issueIter struct {
+ iterVars
+ query issueQuery
+ // issueEditIter []issueEditIter
+ // timelineIter []timelineIter
+}
+
+type iterVars struct {
+ index int
+ capacity int
+ variables varmap
+}
+
+type varmap map[string]interface{}
+
type indexer struct{ index int }
type issueEditIterator struct {