1
2
3
4
5
6 package github
7
8 import (
9 "context"
10 "fmt"
11 )
12
13
14
15
16 func (s *OrganizationsService) ListPackages(ctx context.Context, org string, opts *PackageListOptions) ([]*Package, *Response, error) {
17 u := fmt.Sprintf("orgs/%v/packages", org)
18 u, err := addOptions(u, opts)
19 if err != nil {
20 return nil, nil, err
21 }
22
23 req, err := s.client.NewRequest("GET", u, nil)
24 if err != nil {
25 return nil, nil, err
26 }
27
28 var packages []*Package
29 resp, err := s.client.Do(ctx, req, &packages)
30 if err != nil {
31 return nil, resp, err
32 }
33
34 return packages, resp, nil
35 }
36
37
38
39
40 func (s *OrganizationsService) GetPackage(ctx context.Context, org, packageType, packageName string) (*Package, *Response, error) {
41 u := fmt.Sprintf("orgs/%v/packages/%v/%v", org, packageType, packageName)
42 req, err := s.client.NewRequest("GET", u, nil)
43 if err != nil {
44 return nil, nil, err
45 }
46
47 var pack *Package
48 resp, err := s.client.Do(ctx, req, &pack)
49 if err != nil {
50 return nil, resp, err
51 }
52
53 return pack, resp, nil
54 }
55
56
57
58
59 func (s *OrganizationsService) DeletePackage(ctx context.Context, org, packageType, packageName string) (*Response, error) {
60 u := fmt.Sprintf("orgs/%v/packages/%v/%v", org, packageType, packageName)
61 req, err := s.client.NewRequest("DELETE", u, nil)
62 if err != nil {
63 return nil, err
64 }
65
66 return s.client.Do(ctx, req, nil)
67 }
68
69
70
71
72 func (s *OrganizationsService) RestorePackage(ctx context.Context, org, packageType, packageName string) (*Response, error) {
73 u := fmt.Sprintf("orgs/%v/packages/%v/%v/restore", org, packageType, packageName)
74 req, err := s.client.NewRequest("POST", u, nil)
75 if err != nil {
76 return nil, err
77 }
78
79 return s.client.Do(ctx, req, nil)
80 }
81
82
83
84
85 func (s *OrganizationsService) PackageGetAllVersions(ctx context.Context, org, packageType, packageName string, opts *PackageListOptions) ([]*PackageVersion, *Response, error) {
86 u := fmt.Sprintf("orgs/%v/packages/%v/%v/versions", org, packageType, packageName)
87 u, err := addOptions(u, opts)
88 if err != nil {
89 return nil, nil, err
90 }
91
92 req, err := s.client.NewRequest("GET", u, nil)
93 if err != nil {
94 return nil, nil, err
95 }
96
97 var versions []*PackageVersion
98 resp, err := s.client.Do(ctx, req, &versions)
99 if err != nil {
100 return nil, resp, err
101 }
102
103 return versions, resp, nil
104 }
105
106
107
108
109 func (s *OrganizationsService) PackageGetVersion(ctx context.Context, org, packageType, packageName string, packageVersionID int64) (*PackageVersion, *Response, error) {
110 u := fmt.Sprintf("orgs/%v/packages/%v/%v/versions/%v", org, packageType, packageName, packageVersionID)
111 req, err := s.client.NewRequest("GET", u, nil)
112 if err != nil {
113 return nil, nil, err
114 }
115
116 var version *PackageVersion
117 resp, err := s.client.Do(ctx, req, &version)
118 if err != nil {
119 return nil, resp, err
120 }
121
122 return version, resp, nil
123 }
124
125
126
127
128 func (s *OrganizationsService) PackageDeleteVersion(ctx context.Context, org, packageType, packageName string, packageVersionID int64) (*Response, error) {
129 u := fmt.Sprintf("orgs/%v/packages/%v/%v/versions/%v", org, packageType, packageName, packageVersionID)
130 req, err := s.client.NewRequest("DELETE", u, nil)
131 if err != nil {
132 return nil, err
133 }
134
135 return s.client.Do(ctx, req, nil)
136 }
137
138
139
140
141 func (s *OrganizationsService) PackageRestoreVersion(ctx context.Context, org, packageType, packageName string, packageVersionID int64) (*Response, error) {
142 u := fmt.Sprintf("orgs/%v/packages/%v/%v/versions/%v/restore", org, packageType, packageName, packageVersionID)
143 req, err := s.client.NewRequest("POST", u, nil)
144 if err != nil {
145 return nil, err
146 }
147
148 return s.client.Do(ctx, req, nil)
149 }
150
View as plain text