1
2
3
4
5
6 package github
7
8 import (
9 "context"
10 "fmt"
11 )
12
13
14 type EnterpriseSecurityAnalysisSettings struct {
15 AdvancedSecurityEnabledForNewRepositories *bool `json:"advanced_security_enabled_for_new_repositories,omitempty"`
16 SecretScanningEnabledForNewRepositories *bool `json:"secret_scanning_enabled_for_new_repositories,omitempty"`
17 SecretScanningPushProtectionEnabledForNewRepositories *bool `json:"secret_scanning_push_protection_enabled_for_new_repositories,omitempty"`
18 SecretScanningPushProtectionCustomLink *string `json:"secret_scanning_push_protection_custom_link,omitempty"`
19 }
20
21
22
23
24 func (s *EnterpriseService) GetCodeSecurityAndAnalysis(ctx context.Context, enterprise string) (*EnterpriseSecurityAnalysisSettings, *Response, error) {
25 u := fmt.Sprintf("enterprises/%v/code_security_and_analysis", enterprise)
26
27 req, err := s.client.NewRequest("GET", u, nil)
28 if err != nil {
29 return nil, nil, err
30 }
31
32 settings := new(EnterpriseSecurityAnalysisSettings)
33 resp, err := s.client.Do(ctx, req, settings)
34 if err != nil {
35 return nil, resp, err
36 }
37
38 return settings, resp, nil
39 }
40
41
42
43
44 func (s *EnterpriseService) UpdateCodeSecurityAndAnalysis(ctx context.Context, enterprise string, settings *EnterpriseSecurityAnalysisSettings) (*Response, error) {
45 u := fmt.Sprintf("enterprises/%v/code_security_and_analysis", enterprise)
46 req, err := s.client.NewRequest("PATCH", u, settings)
47 if err != nil {
48 return nil, err
49 }
50
51 resp, err := s.client.Do(ctx, req, nil)
52 if err != nil {
53 return resp, err
54 }
55
56 return resp, nil
57 }
58
59
60
61
62
63
64
65 func (s *EnterpriseService) EnableDisableSecurityFeature(ctx context.Context, enterprise, securityProduct, enablement string) (*Response, error) {
66 u := fmt.Sprintf("enterprises/%v/%v/%v", enterprise, securityProduct, enablement)
67 req, err := s.client.NewRequest("POST", u, nil)
68 if err != nil {
69 return nil, err
70 }
71
72 resp, err := s.client.Do(ctx, req, nil)
73 if err != nil {
74 return resp, err
75 }
76
77 return resp, nil
78 }
79
View as plain text