@@ -17,9 +17,23 @@ func CreateReview(opts models.CreateReviewOptions) (*models.Review, error) {
1717 return nil , err
1818 }
1919
20+ return review , reviewHook (review )
21+ }
22+
23+ // UpdateReview updates a review
24+ func UpdateReview (review * models.Review ) error {
25+ err := models .UpdateReview (review )
26+ if err != nil {
27+ return err
28+ }
29+
30+ return reviewHook (review )
31+ }
32+
33+ func reviewHook (review * models.Review ) error {
2034 var reviewHookType models.HookEventType
2135
22- switch opts .Type {
36+ switch review .Type {
2337 case models .ReviewTypeApprove :
2438 reviewHookType = models .HookEventPullRequestApproved
2539 case models .ReviewTypeComment :
@@ -28,30 +42,30 @@ func CreateReview(opts models.CreateReviewOptions) (*models.Review, error) {
2842 reviewHookType = models .HookEventPullRequestRejected
2943 default :
3044 // unsupported review webhook type here
31- return review , nil
45+ return nil
3246 }
3347
34- pr := opts .Issue .PullRequest
48+ pr := review .Issue .PullRequest
3549
3650 if err := pr .LoadIssue (); err != nil {
37- return nil , err
51+ return err
3852 }
3953
40- mode , err := models .AccessLevel (opts .Issue .Poster , opts .Issue .Repo )
54+ mode , err := models .AccessLevel (review .Issue .Poster , review .Issue .Repo )
4155 if err != nil {
42- return nil , err
56+ return err
4357 }
4458
45- if err := models .PrepareWebhooks (opts .Issue .Repo , reviewHookType , & api.PullRequestPayload {
59+ if err := models .PrepareWebhooks (review .Issue .Repo , reviewHookType , & api.PullRequestPayload {
4660 Action : api .HookIssueSynchronized ,
47- Index : opts .Issue .Index ,
61+ Index : review .Issue .Index ,
4862 PullRequest : pr .APIFormat (),
49- Repository : opts .Issue .Repo .APIFormat (mode ),
50- Sender : opts .Reviewer .APIFormat (),
63+ Repository : review .Issue .Repo .APIFormat (mode ),
64+ Sender : review .Reviewer .APIFormat (),
5165 }); err != nil {
52- return nil , err
66+ return err
5367 }
54- go models .HookQueue .Add (opts .Issue .Repo .ID )
68+ go models .HookQueue .Add (review .Issue .Repo .ID )
5569
56- return review , nil
70+ return nil
5771}
0 commit comments