From 1c70b5d949d620522f370b9002dad09e2c8b5f1b Mon Sep 17 00:00:00 2001 From: Julien Dessaux Date: Fri, 23 May 2025 13:09:33 +0200 Subject: [PATCH] chore(client): refactoring --- .../{teams.go => organization_teams.go} | 6 ++-- internal/client/repositories.go | 8 +++--- ...crets.go => repository_actions_secrets.go} | 28 +++++++++---------- .../repository_actions_secret_resource.go | 12 ++++---- internal/provider/teams_data_source.go | 4 +-- 5 files changed, 29 insertions(+), 29 deletions(-) rename internal/client/{teams.go => organization_teams.go} (83%) rename internal/client/{secrets.go => repository_actions_secrets.go} (52%) diff --git a/internal/client/teams.go b/internal/client/organization_teams.go similarity index 83% rename from internal/client/teams.go rename to internal/client/organization_teams.go index 9ab5d51..3b04088 100644 --- a/internal/client/teams.go +++ b/internal/client/organization_teams.go @@ -7,7 +7,7 @@ import ( "path" ) -type Team struct { +type OrganizationTeam struct { CanCreateOrgRepo bool `json:"can_create_org_repo"` Description string `json:"description"` Id int64 `json:"id"` @@ -19,8 +19,8 @@ type Team struct { UnitsMap map[string]string `json:"units_map"` } -func (c *Client) TeamsList(ctx context.Context, organizationName string) ([]Team, error) { - var response []Team +func (c *Client) OrganizationTeamsList(ctx context.Context, organizationName string) ([]OrganizationTeam, error) { + var response []OrganizationTeam uriRef := url.URL{Path: path.Join("api/v1/orgs", organizationName, "teams")} if err := c.sendPaginated(ctx, "GET", &uriRef, nil, &response); err != nil { return nil, fmt.Errorf("failed to list teams of organization %s: %w", organizationName, err) diff --git a/internal/client/repositories.go b/internal/client/repositories.go index 5edbc44..fd2222c 100644 --- a/internal/client/repositories.go +++ b/internal/client/repositories.go @@ -28,10 +28,10 @@ type RepositoryInternalTracker struct { } type RepositoryTransfer struct { - Description string `json:"description"` - Doer *User `json:"doer"` - Recipient *User `json:"recipient"` - Teams []Team `json:"teams"` + Description string `json:"description"` + Doer *User `json:"doer"` + Recipient *User `json:"recipient"` + Teams []OrganizationTeam `json:"teams"` } type Repository struct { diff --git a/internal/client/secrets.go b/internal/client/repository_actions_secrets.go similarity index 52% rename from internal/client/secrets.go rename to internal/client/repository_actions_secrets.go index 1d0650f..56b0921 100644 --- a/internal/client/secrets.go +++ b/internal/client/repository_actions_secrets.go @@ -8,36 +8,36 @@ import ( "time" ) -type Secret struct { +type RepositoryActionsSecret struct { CreatedAt time.Time `json:"created_at"` Name string `json:"name"` } -func (c *Client) RepoActionSecretDelete(ctx context.Context, owner string, repo string, name string) error { - uriRef := url.URL{Path: path.Join("api/v1/repos", owner, repo, "actions/secrets", name)} - if _, err := c.send(ctx, "DELETE", &uriRef, nil, nil); err != nil { - return fmt.Errorf("failed to delete repository secret: %w", err) - } - return nil -} - -func (c *Client) RepoActionSecretPut(ctx context.Context, owner string, repo string, name string, data string) error { +func (c *Client) RepositoryActionsSecretCreateOrUpdate(ctx context.Context, owner string, repo string, name string, data string) error { uriRef := url.URL{Path: path.Join("api/v1/repos", owner, repo, "actions/secrets", name)} type Payload struct { Data string `json:"data"` } payload := Payload{Data: data} if _, err := c.send(ctx, "PUT", &uriRef, &payload, nil); err != nil { - return fmt.Errorf("failed to put repository secret: %w", err) + return fmt.Errorf("failed to create or update repository actions secret: %w", err) } return nil } -func (c *Client) RepoActionSecretsList(ctx context.Context, owner string, repo string) ([]Secret, error) { +func (c *Client) RepositoryActionsSecretDelete(ctx context.Context, owner string, repo string, name string) error { + uriRef := url.URL{Path: path.Join("api/v1/repos", owner, repo, "actions/secrets", name)} + if _, err := c.send(ctx, "DELETE", &uriRef, nil, nil); err != nil { + return fmt.Errorf("failed to delete repository actions secret: %w", err) + } + return nil +} + +func (c *Client) RepositoryActionsSecretsList(ctx context.Context, owner string, repo string) ([]RepositoryActionsSecret, error) { uriRef := url.URL{Path: path.Join("api/v1/repos", owner, repo, "actions/secrets")} - var response []Secret + var response []RepositoryActionsSecret if err := c.sendPaginated(ctx, "GET", &uriRef, nil, &response); err != nil { - return nil, fmt.Errorf("failed to list repository secrets: %w", err) + return nil, fmt.Errorf("failed to list repository actions secrets: %w", err) } return response, nil } diff --git a/internal/provider/repository_actions_secret_resource.go b/internal/provider/repository_actions_secret_resource.go index 73650a7..f5d5f18 100644 --- a/internal/provider/repository_actions_secret_resource.go +++ b/internal/provider/repository_actions_secret_resource.go @@ -84,14 +84,14 @@ func (d *RepositoryActionsSecretResource) Create(ctx context.Context, req resour if resp.Diagnostics.HasError() { return } - err := d.client.RepoActionSecretPut( + err := d.client.RepositoryActionsSecretCreateOrUpdate( ctx, data.Owner.ValueString(), data.Repository.ValueString(), data.Name.ValueString(), data.Data.ValueString()) if err != nil { - resp.Diagnostics.AddError("CreateRepositoryActionsSecret", fmt.Sprintf("failed to put repository actions secret: %s", err)) + resp.Diagnostics.AddError("CreateRepositoryActionsSecret", fmt.Sprintf("failed to create or update repository actions secret: %s", err)) return } created, err := d.getRepositoryActionsSecret(ctx, data.Owner, data.Repository, data.Name) @@ -109,7 +109,7 @@ func (d *RepositoryActionsSecretResource) Delete(ctx context.Context, req resour if resp.Diagnostics.HasError() { return } - err := d.client.RepoActionSecretDelete( + err := d.client.RepositoryActionsSecretDelete( ctx, data.Owner.ValueString(), data.Repository.ValueString(), @@ -126,7 +126,7 @@ func (d *RepositoryActionsSecretResource) getRepositoryActionsSecret( repository types.String, name types.String, ) (*timetypes.RFC3339, error) { - secrets, err := d.client.RepoActionSecretsList( + secrets, err := d.client.RepositoryActionsSecretsList( ctx, owner.ValueString(), repository.ValueString()) @@ -164,14 +164,14 @@ func (d *RepositoryActionsSecretResource) Update(ctx context.Context, req resour if resp.Diagnostics.HasError() { return } - err := d.client.RepoActionSecretPut( + err := d.client.RepositoryActionsSecretCreateOrUpdate( ctx, data.Owner.ValueString(), data.Repository.ValueString(), data.Name.ValueString(), data.Data.ValueString()) if err != nil { - resp.Diagnostics.AddError("UpdateRepositoryActionsSecret", fmt.Sprintf("failed to put repository actions secret: %s", err)) + resp.Diagnostics.AddError("UpdateRepositoryActionsSecret", fmt.Sprintf("failed to create or update repository actions secret: %s", err)) return } created, err := d.getRepositoryActionsSecret(ctx, data.Owner, data.Repository, data.Name) diff --git a/internal/provider/teams_data_source.go b/internal/provider/teams_data_source.go index 4ee8e53..6d54d06 100644 --- a/internal/provider/teams_data_source.go +++ b/internal/provider/teams_data_source.go @@ -102,7 +102,7 @@ func (d *TeamsDataSource) Configure(ctx context.Context, req datasource.Configur d.client, _ = req.ProviderData.(*client.Client) } -func populateTeamDataSourceModel(team *client.Team) *TeamDataSourceModel { +func populateTeamDataSourceModel(team *client.OrganizationTeam) *TeamDataSourceModel { return &TeamDataSourceModel{ CanCreateOrgRepo: types.BoolValue(team.CanCreateOrgRepo), Description: types.StringValue(team.Description), @@ -121,7 +121,7 @@ func (d *TeamsDataSource) Read(ctx context.Context, req datasource.ReadRequest, if resp.Diagnostics.HasError() { return } - teams, err := d.client.TeamsList(ctx, data.OrganizationName.ValueString()) + teams, err := d.client.OrganizationTeamsList(ctx, data.OrganizationName.ValueString()) if err != nil { resp.Diagnostics.AddError("ListTeams", fmt.Sprintf("failed to list teams: %s", err)) return