Dont load Review if Comment is CommentTypeReviewRequest ()

RequestReview get deleted on review.
So we don't have to try to load them on comments.

broken out 

(cherry picked from commit 6fad2c874438275d3f69bb1cc223708bd2d27ff6)
This commit is contained in:
6543 2024-02-13 09:45:31 +01:00 committed by Earl Warren
parent 27bc2b9d95
commit e9e6c6152e
No known key found for this signature in database
GPG key ID: 0579CB2928A78A00
3 changed files with 12 additions and 1 deletions

View file

@ -695,8 +695,15 @@ func (c *Comment) LoadReactions(ctx context.Context, repo *repo_model.Repository
}
func (c *Comment) loadReview(ctx context.Context) (err error) {
if c.ReviewID == 0 {
return nil
}
if c.Review == nil {
if c.Review, err = GetReviewByID(ctx, c.ReviewID); err != nil {
// review request which has been replaced by actual reviews doesn't exist in database anymore, so ignorem them.
if c.Type == CommentTypeReviewRequest {
return nil
}
return err
}
}

View file

@ -430,7 +430,8 @@ func (comments CommentList) loadReviews(ctx context.Context) error {
for _, comment := range comments {
comment.Review = reviews[comment.ReviewID]
if comment.Review == nil {
if comment.ReviewID > 0 {
// review request which has been replaced by actual reviews doesn't exist in database anymore, so don't log errors for them.
if comment.ReviewID > 0 && comment.Type != CommentTypeReviewRequest {
log.Error("comment with review id [%d] but has no review record", comment.ReviewID)
}
continue

View file

@ -621,6 +621,9 @@ func AddReviewRequest(ctx context.Context, issue *Issue, reviewer, doer *user_mo
return nil, err
}
// func caller use the created comment to retrieve created review too.
comment.Review = review
return comment, committer.Commit()
}