forked from mirrors/gitea
[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 <6543@obermui.de>
This commit is contained in:
parent
87009ab40a
commit
3c965c3e30
@ -7,7 +7,6 @@ package integrations
|
||||
import (
|
||||
"fmt"
|
||||
"net/http"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"code.gitea.io/gitea/models"
|
||||
@ -152,7 +151,7 @@ func TestAPIGetReleaseByTag(t *testing.T) {
|
||||
|
||||
var err *api.APIError
|
||||
DecodeJSON(t, resp, &err)
|
||||
assert.True(t, strings.HasPrefix(err.Message, "release tag does not exist"))
|
||||
assert.EqualValues(t, "Not Found", err.Message)
|
||||
}
|
||||
|
||||
func TestAPIDeleteTagByName(t *testing.T) {
|
||||
|
@ -48,14 +48,19 @@ func GetReleaseTag(ctx *context.APIContext) {
|
||||
release, err := models.GetRelease(ctx.Repo.Repository.ID, tag)
|
||||
if err != nil {
|
||||
if models.IsErrReleaseNotExist(err) {
|
||||
ctx.Error(http.StatusNotFound, "GetRelease", err)
|
||||
ctx.NotFound()
|
||||
return
|
||||
}
|
||||
ctx.Error(http.StatusInternalServerError, "GetRelease", err)
|
||||
return
|
||||
}
|
||||
|
||||
if err := release.LoadAttributes(); err != nil {
|
||||
if release.IsTag {
|
||||
ctx.NotFound()
|
||||
return
|
||||
}
|
||||
|
||||
if err = release.LoadAttributes(); err != nil {
|
||||
ctx.Error(http.StatusInternalServerError, "LoadAttributes", err)
|
||||
return
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user