From 1760c847c9f31533d1c8d35786fb3a16045c9bc8 Mon Sep 17 00:00:00 2001
From: Julien Dessaux <julien.dessaux@adyxax.org>
Date: Mon, 26 May 2025 14:51:01 +0200
Subject: [PATCH] chore(provider): fix lint errors and add missing file

---
 README.md                                     |  2 --
 internal/client/settings_api.go               | 23 +++++++++++++++++++
 .../repository_actions_variable_resource.go   |  2 +-
 .../repository_push_mirrors_resource.go       |  2 +-
 4 files changed, 25 insertions(+), 4 deletions(-)
 create mode 100644 internal/client/settings_api.go

diff --git a/README.md b/README.md
index 6ba0a23..10c34d0 100644
--- a/README.md
+++ b/README.md
@@ -23,6 +23,4 @@ provider "forgejo" {
   api_token  = var.forgejo_api_token
   base_url = "https://git.adyxax.org/"
 }
-
-# TODO
 ```
diff --git a/internal/client/settings_api.go b/internal/client/settings_api.go
new file mode 100644
index 0000000..d3fe48b
--- /dev/null
+++ b/internal/client/settings_api.go
@@ -0,0 +1,23 @@
+package client
+
+import (
+	"context"
+	"fmt"
+	"net/url"
+)
+
+type SettingsApi struct {
+	MaxResponseItems       int `json:"max_response_items"`
+	DefaultPagingNum       int `json:"default_paging_num"`
+	DefaultGitTreesPerPage int `json:"default_git_trees_per_page"`
+	DefaultMaxBlobSize     int `json:"default_max_blob_size"`
+}
+
+func (c *Client) settingsApiGet() (*SettingsApi, error) {
+	uriRef := url.URL{Path: "api/v1/settings/api"}
+	response := SettingsApi{}
+	if _, err := c.send(context.Background(), "GET", &uriRef, nil, &response); err != nil {
+		return nil, fmt.Errorf("failed to get settings api: %w", err)
+	}
+	return &response, nil
+}
diff --git a/internal/provider/repository_actions_variable_resource.go b/internal/provider/repository_actions_variable_resource.go
index a88f656..5723484 100644
--- a/internal/provider/repository_actions_variable_resource.go
+++ b/internal/provider/repository_actions_variable_resource.go
@@ -138,7 +138,7 @@ func (d *RepositoryActionsVariableResource) Update(ctx context.Context, req reso
 		plannedData.Name.ValueString(),
 		plannedData.Data.ValueString())
 	if err != nil {
-		resp.Diagnostics.AddError("UpdateRepositoryActionsVariable", fmt.Sprintf("failed to update repository actions variable %s %s: %s", stateData.Name.ValueString(), err))
+		resp.Diagnostics.AddError("UpdateRepositoryActionsVariable", fmt.Sprintf("failed to update repository actions variable: %s", err))
 		return
 	}
 	resp.Diagnostics.Append(resp.State.Set(ctx, &plannedData)...)
diff --git a/internal/provider/repository_push_mirrors_resource.go b/internal/provider/repository_push_mirrors_resource.go
index 1aa666f..db58597 100644
--- a/internal/provider/repository_push_mirrors_resource.go
+++ b/internal/provider/repository_push_mirrors_resource.go
@@ -187,5 +187,5 @@ func (d *RepositoryPushMirrorResource) Read(ctx context.Context, req resource.Re
 }
 
 func (d *RepositoryPushMirrorResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) {
-	resp.Diagnostics.AddError("UpdateRepositoryPushMirror", fmt.Sprintf("unreachable code"))
+	resp.Diagnostics.AddError("UpdateRepositoryPushMirror", "unreachable code")
 }