Skip to content

Commit da913d0

Browse files
committed
feat: add AccessibleRepository struct and update ListRepositoriesForOrgInstallation to return a slice of it
1 parent 3740182 commit da913d0

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

github/enterprise_apps.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,15 @@ type EnterpriseInstallationRepositoriesToggleOptions struct {
2424
SelectedRepositoryIDs []int64 `json:"selected_repository_ids,omitempty"`
2525
}
2626

27+
28+
2729
// ListRepositoriesForOrgInstallation lists the repositories that an enterprise app installation
2830
// has access to on an organization.
2931
//
3032
// GitHub API docs: https://docs.github.com/enterprise-cloud@latest/rest/enterprise-admin/organization-installations#get-the-repositories-accessible-to-a-given-github-app-installation
3133
//
3234
//meta:operation GET /enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}/repositories
33-
func (s *EnterpriseService) ListRepositoriesForOrgInstallation(ctx context.Context, enterprise, org string, installationID int64, opts *ListOptions) (*ListRepositories, *Response, error) {
35+
func (s *EnterpriseService) ListRepositoriesForOrgInstallation(ctx context.Context, enterprise, org string, installationID int64, opts *ListOptions) ([]*AccessibleRepository, *Response, error) {
3436
u := fmt.Sprintf("enterprises/%v/apps/organizations/%v/installations/%v/repositories", enterprise, org, installationID)
3537
u, err := addOptions(u, opts)
3638
if err != nil {
@@ -42,7 +44,7 @@ func (s *EnterpriseService) ListRepositoriesForOrgInstallation(ctx context.Conte
4244
return nil, nil, err
4345
}
4446

45-
var r *ListRepositories
47+
var r []*AccessibleRepository
4648
resp, err := s.client.Do(ctx, req, &r)
4749
if err != nil {
4850
return nil, resp, err
@@ -57,7 +59,7 @@ func (s *EnterpriseService) ListRepositoriesForOrgInstallation(ctx context.Conte
5759
// GitHub API docs: https://docs.github.com/enterprise-cloud@latest/rest/enterprise-admin/organization-installations#toggle-installation-repository-access-between-selected-and-all-repositories
5860
//
5961
//meta:operation PATCH /enterprises/{enterprise}/apps/organizations/{org}/installations/{installation_id}/repositories
60-
func (s *EnterpriseService) ToggleInstallationRepositories(ctx context.Context, enterprise, org string, installationID int64, opts *EnterpriseInstallationRepositoriesToggleOptions) (*ListRepositories, *Response, error) {
62+
func (s *EnterpriseService) ToggleInstallationRepositories(ctx context.Context, enterprise, org string, installationID int64, opts EnterpriseInstallationRepositoriesToggleOptions) (*ListRepositories, *Response, error) {
6163
u := fmt.Sprintf("enterprises/%v/apps/organizations/%v/installations/%v/repositories", enterprise, org, installationID)
6264
req, err := s.client.NewRequest("PATCH", u, opts)
6365
if err != nil {

github/enterprise_apps_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ func TestEnterpriseService_ListRepositoriesForOrgInstallation(t *testing.T) {
2020
mux.HandleFunc("/enterprises/e/apps/organizations/o/installations/1/repositories", func(w http.ResponseWriter, r *http.Request) {
2121
testMethod(t, r, "GET")
2222
testFormValues(t, r, values{"page": "1"})
23-
fmt.Fprint(w, `{"total_count":1, "repositories":[{"id":1}]}`)
23+
fmt.Fprint(w, `[{"id":1}]`)
2424
})
2525

2626
ctx := t.Context()
@@ -29,7 +29,7 @@ func TestEnterpriseService_ListRepositoriesForOrgInstallation(t *testing.T) {
2929
t.Errorf("Enterprise.ListRepositoriesForOrgInstallation returned error: %v", err)
3030
}
3131

32-
want := &ListRepositories{TotalCount: Ptr(1), Repositories: []*Repository{{ID: Ptr(int64(1))}}}
32+
want := []*AccessibleRepository{{ID: 1}}
3333
if diff := cmp.Diff(repos, want); diff != "" {
3434
t.Errorf("Enterprise.ListRepositoriesForOrgInstallation returned diff (-want +got):\n%v", diff)
3535
}
@@ -50,7 +50,7 @@ func TestEnterpriseService_ToggleInstallationRepositories(t *testing.T) {
5050
t.Parallel()
5151
client, mux, _ := setup(t)
5252

53-
input := &EnterpriseInstallationRepositoriesToggleOptions{
53+
input := EnterpriseInstallationRepositoriesToggleOptions{
5454
RepositorySelection: String("selected"),
5555
SelectedRepositoryIDs: []int64{1, 2},
5656
}

0 commit comments

Comments
 (0)