summaryrefslogtreecommitdiffstats
path: root/routers/api/v1/repo/release.go
diff options
context:
space:
mode:
Diffstat (limited to 'routers/api/v1/repo/release.go')
-rw-r--r--routers/api/v1/repo/release.go17
1 files changed, 8 insertions, 9 deletions
diff --git a/routers/api/v1/repo/release.go b/routers/api/v1/repo/release.go
index a367e55717..ed5b8f4f78 100644
--- a/routers/api/v1/repo/release.go
+++ b/routers/api/v1/repo/release.go
@@ -34,22 +34,21 @@ func GetRelease(ctx *context.APIContext) {
// ListReleases list a repository's releases
func ListReleases(ctx *context.APIContext) {
- releases, err := models.GetReleasesByRepoID(ctx.Repo.Repository.ID, 1, 2147483647)
+ access, err := models.AccessLevel(ctx.User.ID, ctx.Repo.Repository)
if err != nil {
- ctx.Error(500, "GetReleasesByRepoID", err)
+ ctx.Error(500, "AccessLevel", err)
return
}
- rels := make([]*api.Release, len(releases))
- access, err := models.AccessLevel(ctx.User.ID, ctx.Repo.Repository)
+
+ releases, err := models.GetReleasesByRepoID(ctx.Repo.Repository.ID, models.FindReleasesOptions{
+ IncludeDrafts: access >= models.AccessModeWrite,
+ }, 1, 2147483647)
if err != nil {
- ctx.Error(500, "AccessLevel", err)
+ ctx.Error(500, "GetReleasesByRepoID", err)
return
}
+ rels := make([]*api.Release, len(releases))
for i, release := range releases {
- if release.IsDraft && access < models.AccessModeWrite {
- // hide drafts from users without push access
- continue
- }
if err := release.LoadAttributes(); err != nil {
ctx.Error(500, "LoadAttributes", err)
return