Skip to content

Commit 3c965c3

Browse files
cameronbraid6543
andauthored
[API] GetRelease by tag only return release (#14397)
get release by tag should filter out tag releases to be consistent with list releases and get by id Co-authored-by: 6543 <[email protected]>
1 parent 87009ab commit 3c965c3

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

integrations/api_releases_test.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ package integrations
77
import (
88
"fmt"
99
"net/http"
10-
"strings"
1110
"testing"
1211

1312
"code.gitea.io/gitea/models"
@@ -152,7 +151,7 @@ func TestAPIGetReleaseByTag(t *testing.T) {
152151

153152
var err *api.APIError
154153
DecodeJSON(t, resp, &err)
155-
assert.True(t, strings.HasPrefix(err.Message, "release tag does not exist"))
154+
assert.EqualValues(t, "Not Found", err.Message)
156155
}
157156

158157
func TestAPIDeleteTagByName(t *testing.T) {

routers/api/v1/repo/release_tags.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,14 +48,19 @@ func GetReleaseTag(ctx *context.APIContext) {
4848
release, err := models.GetRelease(ctx.Repo.Repository.ID, tag)
4949
if err != nil {
5050
if models.IsErrReleaseNotExist(err) {
51-
ctx.Error(http.StatusNotFound, "GetRelease", err)
51+
ctx.NotFound()
5252
return
5353
}
5454
ctx.Error(http.StatusInternalServerError, "GetRelease", err)
5555
return
5656
}
5757

58-
if err := release.LoadAttributes(); err != nil {
58+
if release.IsTag {
59+
ctx.NotFound()
60+
return
61+
}
62+
63+
if err = release.LoadAttributes(); err != nil {
5964
ctx.Error(http.StatusInternalServerError, "LoadAttributes", err)
6065
return
6166
}

0 commit comments

Comments
 (0)