Skip to content

Commit 408f274

Browse files
committed
chore: clean up project pagination
1 parent cfac7a8 commit 408f274

File tree

6 files changed

+51
-76
lines changed

6 files changed

+51
-76
lines changed

internal/kubernetes/operator/install.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ func (i *Install) importAtlasResources(orgID, apiKeyID string) error {
215215

216216
projectsIDs = append(projectsIDs, project.GetId())
217217
} else {
218-
projectsData, err := i.atlasStore.GetOrgProjects(orgID, &store.ListOptions{})
218+
projectsData, err := i.atlasStore.GetOrgProjects(orgID)
219219
if err != nil {
220220
return fmt.Errorf("unable to retrieve list of projects: %w", err)
221221
}

internal/kubernetes/operator/project/project.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -849,7 +849,7 @@ func generateName(base string) string {
849849
}
850850

851851
func buildTeams(teamsProvider store.OperatorTeamsStore, orgID, projectID, projectName, targetNamespace, version string, dictionary map[string]string) ([]akov2.Team, []*akov2.AtlasTeam, error) {
852-
projectTeams, err := teamsProvider.ProjectTeams(projectID, nil)
852+
projectTeams, err := teamsProvider.ProjectTeams(projectID)
853853
if err != nil {
854854
return nil, nil, err
855855
}

internal/mocks/mock_atlas_generic_store.go

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

internal/mocks/mock_atlas_operator_project_store.go

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

internal/mocks/mock_projects.go

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

internal/store/projects.go

Lines changed: 9 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@ import (
2121
//go:generate mockgen -destination=../mocks/mock_projects.go -package=mocks github.com/mongodb/atlas-cli-plugin-kubernetes/internal/store ProjectLister,ProjectCreator,ProjectDescriber,ProjectTeamLister,OrgProjectLister
2222

2323
type ProjectLister interface {
24-
Projects(*ListOptions) (*atlasv2.PaginatedAtlasGroup, error)
24+
Projects() (*atlasv2.PaginatedAtlasGroup, error)
2525
}
2626

2727
type OrgProjectLister interface {
2828
ProjectLister
29-
GetOrgProjects(string, *ListOptions) (*atlasv2.PaginatedAtlasGroup, error)
29+
GetOrgProjects(string) (*atlasv2.PaginatedAtlasGroup, error)
3030
}
3131

3232
type ProjectCreator interface {
@@ -39,25 +39,19 @@ type ProjectDescriber interface {
3939
}
4040

4141
type ProjectTeamLister interface {
42-
ProjectTeams(string, *ListOptions) (*atlasv2.PaginatedTeamRole, error)
42+
ProjectTeams(string) (*atlasv2.PaginatedTeamRole, error)
4343
}
4444

4545
// Projects encapsulates the logic to manage different cloud providers.
46-
func (s *Store) Projects(opts *ListOptions) (*atlasv2.PaginatedAtlasGroup, error) {
47-
res := s.clientv2.ProjectsApi.ListProjects(s.ctx)
48-
if opts != nil {
49-
res = res.PageNum(opts.PageNum).ItemsPerPage(fixPageSize(opts.ItemsPerPage))
50-
}
46+
func (s *Store) Projects() (*atlasv2.PaginatedAtlasGroup, error) {
47+
res := s.clientv2.ProjectsApi.ListProjects(s.ctx).ItemsPerPage(1)
5148
result, _, err := res.Execute()
5249
return result, err
5350
}
5451

5552
// GetOrgProjects encapsulates the logic to manage different cloud providers.
56-
func (s *Store) GetOrgProjects(orgID string, opts *ListOptions) (*atlasv2.PaginatedAtlasGroup, error) {
57-
res := s.clientv2.OrganizationsApi.ListOrganizationProjects(s.ctx, orgID)
58-
if opts != nil {
59-
res = res.PageNum(opts.PageNum).ItemsPerPage(fixPageSize(opts.ItemsPerPage))
60-
}
53+
func (s *Store) GetOrgProjects(orgID string) (*atlasv2.PaginatedAtlasGroup, error) {
54+
res := s.clientv2.OrganizationsApi.ListOrganizationProjects(s.ctx, orgID).ItemsPerPage(1)
6155
result, _, err := res.Execute()
6256
return result, err
6357
}
@@ -80,24 +74,8 @@ func (s *Store) CreateProject(params *atlasv2.CreateProjectApiParams) (*atlasv2.
8074
}
8175

8276
// ProjectTeams encapsulates the logic to manage different cloud providers.
83-
func (s *Store) ProjectTeams(projectID string, opts *ListOptions) (*atlasv2.PaginatedTeamRole, error) {
84-
res := s.clientv2.TeamsApi.
85-
ListProjectTeams(s.ctx, projectID)
86-
87-
if opts != nil {
88-
res.
89-
IncludeCount(opts.IncludeCount).
90-
PageNum(opts.PageNum).
91-
ItemsPerPage(fixPageSize(opts.ItemsPerPage))
92-
}
93-
77+
func (s *Store) ProjectTeams(projectID string) (*atlasv2.PaginatedTeamRole, error) {
78+
res := s.clientv2.TeamsApi.ListProjectTeams(s.ctx, projectID).ItemsPerPage(1)
9479
result, _, err := res.Execute()
9580
return result, err
9681
}
97-
98-
func fixPageSize(itemsPerPage int) int {
99-
if itemsPerPage < 1 {
100-
return MaxAPIPageSize
101-
}
102-
return itemsPerPage
103-
}

0 commit comments

Comments
 (0)