summaryrefslogtreecommitdiffstats
path: root/models/review.go
diff options
context:
space:
mode:
Diffstat (limited to 'models/review.go')
-rw-r--r--models/review.go17
1 files changed, 17 insertions, 0 deletions
diff --git a/models/review.go b/models/review.go
index 3ae1dd457c..91b6d6dbb2 100644
--- a/models/review.go
+++ b/models/review.go
@@ -161,6 +161,23 @@ func GetReviewByID(id int64) (*Review, error) {
return getReviewByID(x, id)
}
+func getUniqueApprovalsByPullRequestID(e Engine, prID int64) (reviews []*Review, err error) {
+ reviews = make([]*Review, 0)
+ if err := e.
+ Where("issue_id = ? AND type = ?", prID, ReviewTypeApprove).
+ OrderBy("updated_unix").
+ GroupBy("reviewer_id").
+ Find(&reviews); err != nil {
+ return nil, err
+ }
+ return
+}
+
+// GetUniqueApprovalsByPullRequestID returns all reviews submitted for a specific pull request
+func GetUniqueApprovalsByPullRequestID(prID int64) ([]*Review, error) {
+ return getUniqueApprovalsByPullRequestID(x, prID)
+}
+
// FindReviewOptions represent possible filters to find reviews
type FindReviewOptions struct {
Type ReviewType