Skip to content

Commit 30fb0c6

Browse files
authored
fix!: Return RepositoryAttachment from GetRepositoriesForCodeSecurityConfiguration (#3707)
1 parent 23b7119 commit 30fb0c6

File tree

4 files changed

+64
-16
lines changed

4 files changed

+64
-16
lines changed

github/github-accessors.go

Lines changed: 16 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

github/github-accessors_test.go

Lines changed: 19 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

github/orgs_codesecurity_configurations.go

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,12 @@ type DependencyGraphAutosubmitActionOptions struct {
1616
LabeledRunners *bool `json:"labeled_runners,omitempty"`
1717
}
1818

19+
// RepositoryAttachment represents a repository attachment to a code security configuration.
20+
type RepositoryAttachment struct {
21+
Status *string `json:"status"`
22+
Repository *Repository `json:"repository"`
23+
}
24+
1925
// CodeSecurityConfiguration represents a code security configuration.
2026
type CodeSecurityConfiguration struct {
2127
ID *int64 `json:"id,omitempty"`
@@ -247,20 +253,21 @@ func (s *OrganizationsService) SetDefaultCodeSecurityConfiguration(ctx context.C
247253
// GitHub API docs: https://docs.github.com/rest/code-security/configurations#get-repositories-associated-with-a-code-security-configuration
248254
//
249255
//meta:operation GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories
250-
func (s *OrganizationsService) GetRepositoriesForCodeSecurityConfiguration(ctx context.Context, org string, id int64) ([]*Repository, *Response, error) {
256+
func (s *OrganizationsService) GetRepositoriesForCodeSecurityConfiguration(ctx context.Context, org string, id int64) ([]*RepositoryAttachment, *Response, error) {
251257
u := fmt.Sprintf("orgs/%v/code-security/configurations/%v/repositories", org, id)
252258

253259
req, err := s.client.NewRequest("GET", u, nil)
254260
if err != nil {
255261
return nil, nil, err
256262
}
257263

258-
var repositories []*Repository
259-
resp, err := s.client.Do(ctx, req, &repositories)
264+
var attachments []*RepositoryAttachment
265+
resp, err := s.client.Do(ctx, req, &attachments)
260266
if err != nil {
261267
return nil, resp, err
262268
}
263-
return repositories, resp, nil
269+
270+
return attachments, resp, nil
264271
}
265272

266273
// GetCodeSecurityConfigurationForRepository gets code security configuration that manages a repository's code security settings.

github/orgs_codesecurity_configurations_test.go

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -416,26 +416,32 @@ func TestOrganizationsService_GetRepositoriesForCodeSecurityConfiguration(t *tes
416416
testMethod(t, r, "GET")
417417
fmt.Fprint(w, `[
418418
{
419-
"id":8,
420-
"name":"repo8"
419+
"status": "attached",
420+
"repository": {
421+
"id":8,
422+
"name":"repo8"
423+
}
421424
},
422425
{
423-
"id":42,
424-
"name":"repo42"
425-
}]`)
426+
"status": "attached",
427+
"repository": {
428+
"id":42,
429+
"name":"repo42"
430+
}
431+
}
432+
]`)
426433
})
427434

428-
repositories, _, err := client.Organizations.GetRepositoriesForCodeSecurityConfiguration(ctx, "o", 1)
435+
attachments, _, err := client.Organizations.GetRepositoriesForCodeSecurityConfiguration(ctx, "o", 1)
429436
if err != nil {
430437
t.Errorf("Organizations.GetRepositoriesForCodeSecurityConfiguration returned error: %v", err)
431438
}
432-
433-
want := []*Repository{
434-
{ID: Ptr(int64(8)), Name: Ptr("repo8")},
435-
{ID: Ptr(int64(42)), Name: Ptr("repo42")},
439+
want := []*RepositoryAttachment{
440+
{Status: Ptr("attached"), Repository: &Repository{ID: Ptr(int64(8)), Name: Ptr("repo8")}},
441+
{Status: Ptr("attached"), Repository: &Repository{ID: Ptr(int64(42)), Name: Ptr("repo42")}},
436442
}
437-
if !cmp.Equal(repositories, want) {
438-
t.Errorf("Organizations.GetRepositoriesForCodeSecurityConfiguration returned %+v, want %+v", repositories, want)
443+
if !cmp.Equal(attachments, want) {
444+
t.Errorf("Organizations.GetRepositoriesForCodeSecurityConfiguration returned %+v, want %+v", attachments, want)
439445
}
440446

441447
const methodName = "GetRepositoriesForCodeSecurityConfiguration"

0 commit comments

Comments
 (0)