diff options
Diffstat (limited to 'routers/api/v1/repo/release.go')
-rw-r--r-- | routers/api/v1/repo/release.go | 17 |
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 |