@@ -12,77 +12,6 @@ import (
1212 "github.com/shurcooL/githubv4"
1313)
1414
15- func (g * GitHubClient ) listReleasesV4EnterPrice () ([]* github.RepositoryRelease , error ) {
16- if g .clientV4 == nil {
17- return nil , errors .New ("github graphql is not been initialised" )
18- }
19- var listReleasesEnterprise struct {
20- Repository struct {
21- Releases struct {
22- Edges []struct {
23- Node struct {
24- ReleaseObjectEnterprise
25- }
26- } `graphql:"edges"`
27- PageInfo struct {
28- EndCursor githubv4.String
29- HasNextPage bool
30- } `graphql:"pageInfo"`
31- } `graphql:"releases(first:$releasesCount, after: $releaseCursor, orderBy: {field: CREATED_AT, direction: DESC})"`
32- } `graphql:"repository(owner:$repositoryOwner,name:$repositoryName)"`
33- }
34-
35- vars := map [string ]any {
36- "repositoryOwner" : githubv4 .String (g .owner ),
37- "repositoryName" : githubv4 .String (g .repository ),
38- "releaseCursor" : (* githubv4 .String )(nil ),
39- "releasesCount" : githubv4 .Int (100 ),
40- }
41-
42- var allReleases []* github.RepositoryRelease
43- for {
44- if err := g .clientV4 .Query (context .TODO (), & listReleasesEnterprise , vars ); err != nil {
45- return nil , err
46- }
47- for _ , r := range listReleasesEnterprise .Repository .Releases .Edges {
48- r := r
49- publishedAt , _ := time .ParseInLocation (time .RFC3339 , r .Node .PublishedAt .Time .Format (time .RFC3339 ), time .UTC )
50- createdAt , _ := time .ParseInLocation (time .RFC3339 , r .Node .CreatedAt .Time .Format (time .RFC3339 ), time .UTC )
51- var releaseID int64
52- decodedID , err := base64 .StdEncoding .DecodeString (r .Node .ID )
53- if err != nil {
54- return nil , err
55- }
56- re := regexp .MustCompile (`.*[^\d]` )
57- decodedID = re .ReplaceAll (decodedID , []byte ("" ))
58- if string (decodedID ) == "" {
59- return nil , errors .New ("bad release id from graph ql api" )
60- }
61- releaseID , err = strconv .ParseInt (string (decodedID ), 10 , 64 )
62- if err != nil {
63- return nil , err
64- }
65-
66- allReleases = append (allReleases , & github.RepositoryRelease {
67- ID : & releaseID ,
68- TagName : & r .Node .TagName ,
69- Name : & r .Node .Name ,
70- Prerelease : & r .Node .IsPrerelease ,
71- Draft : & r .Node .IsDraft ,
72- URL : & r .Node .URL ,
73- PublishedAt : & github.Timestamp {Time : publishedAt },
74- CreatedAt : & github.Timestamp {Time : createdAt },
75- })
76- }
77- if ! listReleasesEnterprise .Repository .Releases .PageInfo .HasNextPage {
78- break
79- }
80- vars ["releaseCursor" ] = listReleasesEnterprise .Repository .Releases .PageInfo .EndCursor
81-
82- }
83- return allReleases , nil
84- }
85-
8615func (g * GitHubClient ) listReleasesV4 () ([]* github.RepositoryRelease , error ) {
8716 if g .clientV4 == nil {
8817 return nil , errors .New ("github graphql is not been initialised" )
@@ -117,7 +46,6 @@ func (g *GitHubClient) listReleasesV4() ([]*github.RepositoryRelease, error) {
11746 }
11847
11948 for _ , r := range listReleases .Repository .Releases .Edges {
120- r := r
12149 publishedAt , _ := time .ParseInLocation (time .RFC3339 , r .Node .PublishedAt .Time .Format (time .RFC3339 ), time .UTC )
12250 createdAt , _ := time .ParseInLocation (time .RFC3339 , r .Node .CreatedAt .Time .Format (time .RFC3339 ), time .UTC )
12351 var releaseID int64
0 commit comments