1
2
3
4
5
6 package github
7
8 import (
9 "context"
10 "fmt"
11 )
12
13
14
15
16 func (s *OrganizationsService) GetAllOrganizationRulesets(ctx context.Context, org string) ([]*Ruleset, *Response, error) {
17 u := fmt.Sprintf("orgs/%v/rulesets", org)
18
19 req, err := s.client.NewRequest("GET", u, nil)
20 if err != nil {
21 return nil, nil, err
22 }
23
24 var rulesets []*Ruleset
25 resp, err := s.client.Do(ctx, req, &rulesets)
26 if err != nil {
27 return nil, resp, err
28 }
29
30 return rulesets, resp, nil
31 }
32
33
34
35
36 func (s *OrganizationsService) CreateOrganizationRuleset(ctx context.Context, org string, rs *Ruleset) (*Ruleset, *Response, error) {
37 u := fmt.Sprintf("orgs/%v/rulesets", org)
38
39 req, err := s.client.NewRequest("POST", u, rs)
40 if err != nil {
41 return nil, nil, err
42 }
43
44 var ruleset *Ruleset
45 resp, err := s.client.Do(ctx, req, &ruleset)
46 if err != nil {
47 return nil, resp, err
48 }
49
50 return ruleset, resp, nil
51 }
52
53
54
55
56 func (s *OrganizationsService) GetOrganizationRuleset(ctx context.Context, org string, rulesetID int64) (*Ruleset, *Response, error) {
57 u := fmt.Sprintf("orgs/%v/rulesets/%v", org, rulesetID)
58
59 req, err := s.client.NewRequest("GET", u, nil)
60 if err != nil {
61 return nil, nil, err
62 }
63
64 var ruleset *Ruleset
65 resp, err := s.client.Do(ctx, req, &ruleset)
66 if err != nil {
67 return nil, resp, err
68 }
69
70 return ruleset, resp, nil
71 }
72
73
74
75
76 func (s *OrganizationsService) UpdateOrganizationRuleset(ctx context.Context, org string, rulesetID int64, rs *Ruleset) (*Ruleset, *Response, error) {
77 u := fmt.Sprintf("orgs/%v/rulesets/%v", org, rulesetID)
78
79 req, err := s.client.NewRequest("PUT", u, rs)
80 if err != nil {
81 return nil, nil, err
82 }
83
84 var ruleset *Ruleset
85 resp, err := s.client.Do(ctx, req, &ruleset)
86 if err != nil {
87 return nil, resp, err
88 }
89
90 return ruleset, resp, nil
91 }
92
93
94
95
96 func (s *OrganizationsService) DeleteOrganizationRuleset(ctx context.Context, org string, rulesetID int64) (*Response, error) {
97 u := fmt.Sprintf("orgs/%v/rulesets/%v", org, rulesetID)
98
99 req, err := s.client.NewRequest("DELETE", u, nil)
100 if err != nil {
101 return nil, err
102 }
103
104 return s.client.Do(ctx, req, nil)
105 }
106
View as plain text