mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-05-31 11:52:10 +00:00
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>
This commit is contained in:
parent
b50448b286
commit
b9850375fc
21 changed files with 694 additions and 171 deletions
|
@ -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
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
|
@ -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,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue