diff options
author | a1012112796 <1012112796@qq.com> | 2020-10-21 02:18:25 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-20 14:18:25 -0400 |
commit | b9850375fca1ed72f5a5ba265d48c241aff2e21e (patch) | |
tree | bc5f03623003b95911686e3e472c97f3c8cbe04e /models | |
parent | b50448b28698b5c9cd1825bf95f2331fa030790f (diff) | |
download | gitea-b9850375fca1ed72f5a5ba265d48c241aff2e21e.tar.gz gitea-b9850375fca1ed72f5a5ba265d48c241aff2e21e.zip |
Add review request api (#11355)
* Add review request api
* add : POST /repos/{owner}/{repo}/pulls/{index}/requested_reviewers
* Remove : DELET /repos/{owner}/{repo}/pulls/{index}/requested_reviewers
* fix some request review bug
* block delet request review by models/DeleteReview()
Signed-off-by: a1012112796 <1012112796@qq.com>
* make fmt
* fix bug
* fix test code
* fix typo
* Apply suggestion from code review @jonasfranz
* fix swagger ref
* fix typo
Co-authored-by: Lauris BH <lauris@nix.lv>
* fix comment
* Change response message
* chang response so some simplfy
* Add ErrIllLegalReviewRequest
fix some nits
* make fmt
* Apply suggestions from code review
Co-authored-by: silverwind <me@silverwind.io>
* * Add team support
* fix test
* fix an known bug
* fix nit
* fix test
* Apply suggestions from code review
Co-authored-by: zeripath <art27@cantab.net>
* update get api and add test
Co-authored-by: Lauris BH <lauris@nix.lv>
Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: zeripath <art27@cantab.net>
Diffstat (limited to 'models')
-rw-r--r-- | models/error.go | 2 | ||||
-rw-r--r-- | models/fixtures/issue.yml | 12 | ||||
-rw-r--r-- | models/fixtures/pull_request.yml | 13 | ||||
-rw-r--r-- | models/fixtures/repository.yml | 2 | ||||
-rw-r--r-- | models/fixtures/review.yml | 19 | ||||
-rw-r--r-- | models/review.go | 13 |
6 files changed, 56 insertions, 5 deletions
diff --git a/models/error.go b/models/error.go index be94d78891..b2273f74c9 100644 --- a/models/error.go +++ b/models/error.go @@ -2003,7 +2003,7 @@ type ErrNotValidReviewRequest struct { // IsErrNotValidReviewRequest checks if an error is a ErrNotValidReviewRequest. func IsErrNotValidReviewRequest(err error) bool { - _, ok := err.(ErrReviewNotExist) + _, ok := err.(ErrNotValidReviewRequest) return ok } diff --git a/models/fixtures/issue.yml b/models/fixtures/issue.yml index 39a96dc550..3e836bf5d1 100644 --- a/models/fixtures/issue.yml +++ b/models/fixtures/issue.yml @@ -135,3 +135,15 @@ is_pull: true created_unix: 1579194806 updated_unix: 1579194806 + +- + id: 12 + repo_id: 3 + index: 2 + poster_id: 2 + name: pull6 + content: content for the a pull request + is_closed: false + is_pull: true + created_unix: 1602935696 + updated_unix: 1602935696 diff --git a/models/fixtures/pull_request.yml b/models/fixtures/pull_request.yml index b555da83ef..d45baa711c 100644 --- a/models/fixtures/pull_request.yml +++ b/models/fixtures/pull_request.yml @@ -63,3 +63,16 @@ base_branch: branch1 merge_base: 1234567890abcdef has_merged: false + +- + id: 6 + type: 0 # gitea pull request + status: 2 # mergable + issue_id: 12 + index: 2 + head_repo_id: 3 + base_repo_id: 3 + head_branch: test_branch + base_branch: master + merge_base: 2a47ca4b614a9f5a + has_merged: false diff --git a/models/fixtures/repository.yml b/models/fixtures/repository.yml index a44e480270..c7f55a8f70 100644 --- a/models/fixtures/repository.yml +++ b/models/fixtures/repository.yml @@ -41,7 +41,7 @@ is_private: true num_issues: 1 num_closed_issues: 0 - num_pulls: 0 + num_pulls: 1 num_closed_pulls: 0 num_watches: 0 num_projects: 1 diff --git a/models/fixtures/review.yml b/models/fixtures/review.yml index 3db0b47353..c7c16fb109 100644 --- a/models/fixtures/review.yml +++ b/models/fixtures/review.yml @@ -86,3 +86,22 @@ official: true updated_unix: 946684815 created_unix: 946684815 + +- + id: 11 + type: 4 + reviewer_id: 0 + reviewer_team_id: 7 + issue_id: 12 + official: true + updated_unix: 1602936509 + created_unix: 1602936509 + +- + id: 12 + type: 4 + reviewer_id: 1 + issue_id: 12 + official: true + updated_unix: 1603196749 + created_unix: 1603196749
\ No newline at end of file diff --git a/models/review.go b/models/review.go index 326b06b5ed..aeb5f21ea9 100644 --- a/models/review.go +++ b/models/review.go @@ -627,13 +627,14 @@ func AddReviewRequest(issue *Issue, reviewer, doer *User) (*Comment, error) { } } - if _, err = createReview(sess, CreateReviewOptions{ + review, err = createReview(sess, CreateReviewOptions{ Type: ReviewTypeRequest, Issue: issue, Reviewer: reviewer, Official: official, Stale: false, - }); err != nil { + }) + if err != nil { return nil, err } @@ -644,6 +645,7 @@ func AddReviewRequest(issue *Issue, reviewer, doer *User) (*Comment, error) { Issue: issue, RemovedAssignee: false, // Use RemovedAssignee as !isRequest AssigneeID: reviewer.ID, // Use AssigneeID as reviewer ID + ReviewID: review.ID, }) if err != nil { return nil, err @@ -732,7 +734,7 @@ func AddTeamReviewRequest(issue *Issue, reviewer *Team, doer *User) (*Comment, e } } - if _, err = createReview(sess, CreateReviewOptions{ + if review, err = createReview(sess, CreateReviewOptions{ Type: ReviewTypeRequest, Issue: issue, ReviewerTeam: reviewer, @@ -755,6 +757,7 @@ func AddTeamReviewRequest(issue *Issue, reviewer *Team, doer *User) (*Comment, e Issue: issue, RemovedAssignee: false, // Use RemovedAssignee as !isRequest AssigneeTeamID: reviewer.ID, // Use AssigneeTeamID as reviewer team ID + ReviewID: review.ID, }) if err != nil { return nil, fmt.Errorf("createComment(): %v", err) @@ -894,6 +897,10 @@ func DeleteReview(r *Review) error { return fmt.Errorf("review is not allowed to be 0") } + if r.Type == ReviewTypeRequest { + return fmt.Errorf("review request can not be deleted using this method") + } + opts := FindCommentsOptions{ Type: CommentTypeCode, IssueID: r.IssueID, |