Skip to content

Commit dc39ad6

Browse files
authored
Merge pull request #44 from git-pkgs/lint-fixes
Fix lint issues from golangci-lint quality checks
2 parents b0691a4 + d9e9ab4 commit dc39ad6

46 files changed

Lines changed: 413 additions & 267 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

bitbucket/bitbucket.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ func (s *bitbucketRepoService) doJSON(ctx context.Context, method, url string, b
128128
if resp.StatusCode == http.StatusNoContent {
129129
return nil
130130
}
131-
if resp.StatusCode >= 400 {
131+
if resp.StatusCode >= http.StatusBadRequest {
132132
respBody, _ := io.ReadAll(resp.Body)
133133
return &forge.HTTPError{StatusCode: resp.StatusCode, URL: url, Body: string(respBody)}
134134
}

bitbucket/issues.go

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,11 @@ import (
88
"time"
99
)
1010

11+
const (
12+
stateOpen = "open"
13+
stateClosed = "closed"
14+
)
15+
1116
type bitbucketIssueService struct {
1217
token string
1318
httpClient *http.Client
@@ -104,10 +109,10 @@ func convertBitbucketIssue(bb bbIssue) forge.Issue {
104109

105110
// Normalize Bitbucket states to open/closed
106111
switch bb.State {
107-
case "new", "open":
108-
result.State = "open"
112+
case "new", stateOpen:
113+
result.State = stateOpen
109114
default:
110-
result.State = "closed"
115+
result.State = stateClosed
111116
}
112117

113118
if bb.Reporter != nil {
@@ -183,9 +188,9 @@ func (s *bitbucketIssueService) List(ctx context.Context, owner, repo string, op
183188

184189
// Bitbucket uses q= query parameter for filtering
185190
switch opts.State {
186-
case "open":
191+
case stateOpen:
187192
url += "&q=state+%3D+%22new%22+OR+state+%3D+%22open%22"
188-
case "closed":
193+
case stateClosed:
189194
url += "&q=state+%3D+%22resolved%22+OR+state+%3D+%22closed%22"
190195
}
191196

@@ -263,7 +268,7 @@ func (s *bitbucketIssueService) Close(ctx context.Context, owner, repo string, n
263268
}
264269

265270
func (s *bitbucketIssueService) Reopen(ctx context.Context, owner, repo string, number int) error {
266-
body := map[string]any{"state": "open"}
271+
body := map[string]any{"state": stateOpen}
267272
url := fmt.Sprintf("%s/repositories/%s/%s/issues/%d", bitbucketAPI, owner, repo, number)
268273
return s.doJSON(ctx, http.MethodPut, url, body, nil)
269274
}

bitbucket/prs.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ import (
1010
forge "github.com/git-pkgs/forge"
1111
)
1212

13+
const maxDiffSize = 10 << 20 // 10 MB
14+
1315
type bitbucketPRService struct {
1416
token string
1517
httpClient *http.Client
@@ -290,7 +292,7 @@ func (s *bitbucketPRService) Diff(ctx context.Context, owner, repo string, numbe
290292
return "", forge.ErrNotFound
291293
}
292294

293-
body, err := io.ReadAll(io.LimitReader(resp.Body, 10<<20)) // 10 MB max
295+
body, err := io.ReadAll(io.LimitReader(resp.Body, maxDiffSize))
294296
if err != nil {
295297
return "", err
296298
}

forge.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -241,8 +241,8 @@ func ParseRepoURL(rawURL string) (domain, owner, repo string, err error) {
241241
}
242242

243243
// Handle git@ SSH URLs: git@github.com:owner/repo.git
244-
if strings.HasPrefix(rawURL, "git@") {
245-
rawURL = strings.TrimPrefix(rawURL, "git@")
244+
if after, found := strings.CutPrefix(rawURL, "git@"); found {
245+
rawURL = after
246246
colonIdx := strings.Index(rawURL, ":")
247247
if colonIdx < 0 {
248248
return "", "", "", fmt.Errorf("invalid SSH URL: missing colon")
@@ -265,11 +265,13 @@ func ParseRepoURL(rawURL string) (domain, owner, repo string, err error) {
265265
return splitOwnerRepo(domain, u.Path)
266266
}
267267

268+
const minOwnerRepoParts = 2
269+
268270
func splitOwnerRepo(domain, path string) (string, string, string, error) {
269271
path = strings.TrimSuffix(path, ".git")
270272
path = strings.Trim(path, "/")
271273
parts := strings.Split(path, "/")
272-
if len(parts) < 2 {
274+
if len(parts) < minOwnerRepoParts {
273275
return "", "", "", fmt.Errorf("URL path must contain owner/repo, got %q", path)
274276
}
275277
return domain, parts[0], parts[1], nil

gitea/commit_statuses.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ import (
88
"code.gitea.io/sdk/gitea"
99
)
1010

11+
const defaultPageSize = 50
12+
1113
type giteaCommitStatusService struct {
1214
client *gitea.Client
1315
}
@@ -21,7 +23,7 @@ func (s *giteaCommitStatusService) List(ctx context.Context, owner, repo, sha st
2123
page := 1
2224
for {
2325
statuses, resp, err := s.client.ListStatuses(owner, repo, sha, gitea.ListStatusesOption{
24-
ListOptions: gitea.ListOptions{Page: page, PageSize: 50},
26+
ListOptions: gitea.ListOptions{Page: page, PageSize: defaultPageSize},
2527
})
2628
if err != nil {
2729
if resp != nil && resp.StatusCode == http.StatusNotFound {
@@ -42,7 +44,7 @@ func (s *giteaCommitStatusService) List(ctx context.Context, owner, repo, sha st
4244
}
4345
all = append(all, cs)
4446
}
45-
if len(statuses) < 50 {
47+
if len(statuses) < defaultPageSize {
4648
break
4749
}
4850
page++

gitea/gitea.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ func (s *giteaRepoService) Get(ctx context.Context, owner, repo string) (*forge.
9696
func (s *giteaRepoService) List(ctx context.Context, owner string, opts forge.ListRepoOpts) ([]forge.Repository, error) {
9797
perPage := opts.PerPage
9898
if perPage <= 0 {
99-
perPage = 50
99+
perPage = defaultPageSize
100100
}
101101

102102
// Try org endpoint first, fall back to user on 404.
@@ -296,7 +296,7 @@ func (s *giteaRepoService) Fork(ctx context.Context, owner, repo string, opts fo
296296
func (s *giteaRepoService) ListForks(ctx context.Context, owner, repo string, opts forge.ListForksOpts) ([]forge.Repository, error) {
297297
perPage := opts.PerPage
298298
if perPage <= 0 {
299-
perPage = 50
299+
perPage = defaultPageSize
300300
}
301301
page := opts.Page
302302
if page <= 0 {
@@ -335,7 +335,7 @@ func (s *giteaRepoService) ListTags(ctx context.Context, owner, repo string) ([]
335335
page := 1
336336
for {
337337
tags, resp, err := s.client.ListRepoTags(owner, repo, gitea.ListRepoTagsOptions{
338-
ListOptions: gitea.ListOptions{Page: page, PageSize: 50},
338+
ListOptions: gitea.ListOptions{Page: page, PageSize: defaultPageSize},
339339
})
340340
if err != nil {
341341
if resp != nil && resp.StatusCode == http.StatusNotFound {
@@ -350,7 +350,7 @@ func (s *giteaRepoService) ListTags(ctx context.Context, owner, repo string) ([]
350350
}
351351
allTags = append(allTags, tag)
352352
}
353-
if len(tags) < 50 {
353+
if len(tags) < defaultPageSize {
354354
break
355355
}
356356
page++

gitea/issues.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ func convertGiteaIssue(i *gitea.Issue) forge.Issue {
2828

2929
switch i.State {
3030
case gitea.StateOpen:
31-
result.State = "open"
31+
result.State = stateOpen
3232
case gitea.StateClosed:
33-
result.State = "closed"
33+
result.State = stateClosed
3434
default:
3535
result.State = string(i.State)
3636
}
@@ -134,11 +134,11 @@ func (s *giteaIssueService) List(ctx context.Context, owner, repo string, opts f
134134
}
135135

136136
switch opts.State {
137-
case "open":
137+
case stateOpen:
138138
gOpts.State = gitea.StateOpen
139-
case "closed":
139+
case stateClosed:
140140
gOpts.State = gitea.StateClosed
141-
case "all":
141+
case stateAll:
142142
gOpts.State = gitea.StateAll
143143
default:
144144
gOpts.State = gitea.StateOpen
@@ -296,7 +296,7 @@ func (s *giteaIssueService) ListComments(ctx context.Context, owner, repo string
296296
page := 1
297297
for {
298298
comments, resp, err := s.client.ListIssueComments(owner, repo, int64(number), gitea.ListIssueCommentOptions{
299-
ListOptions: gitea.ListOptions{Page: page, PageSize: 50},
299+
ListOptions: gitea.ListOptions{Page: page, PageSize: defaultPageSize},
300300
})
301301
if err != nil {
302302
if resp != nil && resp.StatusCode == http.StatusNotFound {
@@ -307,7 +307,7 @@ func (s *giteaIssueService) ListComments(ctx context.Context, owner, repo string
307307
for _, c := range comments {
308308
all = append(all, convertGiteaComment(c))
309309
}
310-
if len(comments) < 50 {
310+
if len(comments) < defaultPageSize {
311311
break
312312
}
313313
page++

gitea/labels.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ func convertGiteaLabel(l *gitea.Label) forge.Label {
2929
func (s *giteaLabelService) List(ctx context.Context, owner, repo string, opts forge.ListLabelOpts) ([]forge.Label, error) {
3030
perPage := opts.PerPage
3131
if perPage <= 0 {
32-
perPage = 50
32+
perPage = defaultPageSize
3333
}
3434
page := opts.Page
3535
if page <= 0 {
@@ -69,7 +69,7 @@ func (s *giteaLabelService) findLabelByName(owner, repo, name string) (*gitea.La
6969
page := 1
7070
for {
7171
labels, resp, err := s.client.ListRepoLabels(owner, repo, gitea.ListLabelsOptions{
72-
ListOptions: gitea.ListOptions{Page: page, PageSize: 50},
72+
ListOptions: gitea.ListOptions{Page: page, PageSize: defaultPageSize},
7373
})
7474
if err != nil {
7575
if resp != nil && resp.StatusCode == http.StatusNotFound {
@@ -82,7 +82,7 @@ func (s *giteaLabelService) findLabelByName(owner, repo, name string) (*gitea.La
8282
return l, nil
8383
}
8484
}
85-
if len(labels) < 50 {
85+
if len(labels) < defaultPageSize {
8686
break
8787
}
8888
page++
@@ -102,7 +102,7 @@ func resolveLabelIDs(client *gitea.Client, owner, repo string, names []string) (
102102
page := 1
103103
for {
104104
labels, resp, err := client.ListRepoLabels(owner, repo, gitea.ListLabelsOptions{
105-
ListOptions: gitea.ListOptions{Page: page, PageSize: 50},
105+
ListOptions: gitea.ListOptions{Page: page, PageSize: defaultPageSize},
106106
})
107107
if err != nil {
108108
if resp != nil && resp.StatusCode == http.StatusNotFound {
@@ -116,7 +116,7 @@ func resolveLabelIDs(client *gitea.Client, owner, repo string, names []string) (
116116
delete(nameSet, l.Name)
117117
}
118118
}
119-
if len(nameSet) == 0 || len(labels) < 50 {
119+
if len(nameSet) == 0 || len(labels) < defaultPageSize {
120120
break
121121
}
122122
page++

gitea/milestones.go

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,12 @@ import (
88
"code.gitea.io/sdk/gitea"
99
)
1010

11+
const (
12+
stateOpen = "open"
13+
stateClosed = "closed"
14+
stateAll = "all"
15+
)
16+
1117
type giteaMilestoneService struct {
1218
client *gitea.Client
1319
}
@@ -45,11 +51,11 @@ func (s *giteaMilestoneService) List(ctx context.Context, owner, repo string, op
4551
}
4652

4753
switch opts.State {
48-
case "open":
54+
case stateOpen:
4955
gOpts.State = gitea.StateOpen
50-
case "closed":
56+
case stateClosed:
5157
gOpts.State = gitea.StateClosed
52-
case "all":
58+
case stateAll:
5359
gOpts.State = gitea.StateAll
5460
default:
5561
gOpts.State = gitea.StateOpen
@@ -126,10 +132,10 @@ func (s *giteaMilestoneService) Update(ctx context.Context, owner, repo string,
126132
}
127133
if opts.State != nil {
128134
switch *opts.State {
129-
case "open":
135+
case stateOpen:
130136
s := gitea.StateOpen
131137
gOpts.State = &s
132-
case "closed":
138+
case stateClosed:
133139
s := gitea.StateClosed
134140
gOpts.State = &s
135141
}

0 commit comments

Comments
 (0)