summaryrefslogtreecommitdiff
path: root/internal/codeberg
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-05-29 10:52:50 +0300
committerPaul Buetow <paul@buetow.org>2026-05-29 10:52:50 +0300
commit714e81e56b3e8d49359c8098ec85dbaac8f74d4c (patch)
tree9e91ca8cf643449a5a7edca3a4606afe024c6e26 /internal/codeberg
parent4513ccec70871532b5b06aed3f9ed720abf613ed (diff)
refactor(cli): inject repo client factory for mq
Diffstat (limited to 'internal/codeberg')
-rw-r--r--internal/codeberg/codeberg.go11
1 files changed, 11 insertions, 0 deletions
diff --git a/internal/codeberg/codeberg.go b/internal/codeberg/codeberg.go
index 0d587de..f881be9 100644
--- a/internal/codeberg/codeberg.go
+++ b/internal/codeberg/codeberg.go
@@ -8,6 +8,7 @@ import (
"net/http"
"os"
"path/filepath"
+ "strings"
"time"
"codeberg.org/snonux/gitsyncer/internal/forge"
@@ -39,6 +40,7 @@ type Client struct {
}
var _ forge.RepoClient = (*Client)(nil)
+var _ forge.RepoDescriptionClient = (*Client)(nil)
// NewClient creates a new Codeberg API client
func NewClient(token, org string) *Client {
@@ -111,6 +113,15 @@ func (c *Client) GetRepo(repoName string) (Repository, bool, error) {
return repo, true, nil
}
+// GetRepoDescription fetches a repository description.
+func (c *Client) GetRepoDescription(repoName string) (string, bool, error) {
+ repo, exists, err := c.GetRepo(repoName)
+ if err != nil || !exists {
+ return "", exists, err
+ }
+ return strings.TrimSpace(repo.Description), true, nil
+}
+
// UpdateRepoDescription updates a repository description on Codeberg
func (c *Client) UpdateRepoDescription(repoName, description string) error {
if !c.HasToken() {