aboutsummaryrefslogtreecommitdiffstats
path: root/models/repo
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2023-11-26 07:43:23 +0800
committerGitHub <noreply@github.com>2023-11-25 23:43:23 +0000
commitbc3d8bff73a5bd307dc825254b51bfedd722f078 (patch)
tree3e36c10cc0015ce9339f3520411ec9ff742e1d7c /models/repo
parent7f81110461903685807f2e863d67fe89db1be060 (diff)
downloadgitea-bc3d8bff73a5bd307dc825254b51bfedd722f078.tar.gz
gitea-bc3d8bff73a5bd307dc825254b51bfedd722f078.zip
Fix comment permissions (#28213) (#28216)
backport #28213 This PR will fix some missed checks for private repositories' data on web routes and API routes.
Diffstat (limited to 'models/repo')
-rw-r--r--models/repo/release.go15
1 files changed, 15 insertions, 0 deletions
diff --git a/models/repo/release.go b/models/repo/release.go
index ff31ec4510..223d3f2501 100644
--- a/models/repo/release.go
+++ b/models/repo/release.go
@@ -207,6 +207,21 @@ func GetReleaseByID(ctx context.Context, id int64) (*Release, error) {
return rel, nil
}
+// GetReleaseForRepoByID returns release with given ID.
+func GetReleaseForRepoByID(ctx context.Context, repoID, id int64) (*Release, error) {
+ rel := new(Release)
+ has, err := db.GetEngine(ctx).
+ Where("id=? AND repo_id=?", id, repoID).
+ Get(rel)
+ if err != nil {
+ return nil, err
+ } else if !has {
+ return nil, ErrReleaseNotExist{id, ""}
+ }
+
+ return rel, nil
+}
+
// FindReleasesOptions describes the conditions to Find releases
type FindReleasesOptions struct {
db.ListOptions