diff options
Diffstat (limited to 'models/review.go')
-rw-r--r-- | models/review.go | 17 |
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 |