@@ -12,7 +12,7 @@ use crate::bors::handlers::workflow::{AutoBuildCancelReason, maybe_cancel_auto_b
1212use crate :: bors:: merge_queue:: MergeQueueSender ;
1313use crate :: bors:: mergeability_queue:: MergeabilityQueueSender ;
1414use crate :: bors:: { Comment , PullRequestStatus , RepositoryState } ;
15- use crate :: database:: MergeableState ;
15+ use crate :: database:: { MergeableState , UpsertPullRequestParams } ;
1616use crate :: github:: { CommitSha , PullRequestNumber } ;
1717use crate :: utils:: text:: pluralize;
1818use std:: sync:: Arc ;
@@ -34,7 +34,7 @@ pub(super) async fn handle_pull_request_edited(
3434 return Ok ( ( ) ) ;
3535 } ;
3636
37- mergeability_queue. enqueue_pr ( pr_model. repository . clone ( ) , pr_number ) ;
37+ mergeability_queue. enqueue_pr ( & pr_model) ;
3838
3939 if !pr_model. is_approved ( ) {
4040 return Ok ( ( ) ) ;
@@ -56,7 +56,7 @@ pub(super) async fn handle_push_to_pull_request(
5656 . upsert_pull_request ( repo_state. repository ( ) , pr. clone ( ) . into ( ) )
5757 . await ?;
5858
59- mergeability_queue. enqueue_pr ( repo_state . repository ( ) . clone ( ) , pr_number ) ;
59+ mergeability_queue. enqueue_pr ( & pr_model ) ;
6060
6161 let auto_build_cancel_message = maybe_cancel_auto_build (
6262 & repo_state. client ,
@@ -110,20 +110,24 @@ pub(super) async fn handle_pull_request_opened(
110110 . iter ( )
111111 . map ( |user| user. username . clone ( ) )
112112 . collect ( ) ;
113- db. create_pull_request (
114- repo_state. repository ( ) ,
115- payload. pull_request . number ,
116- & payload. pull_request . title ,
117- & payload. pull_request . author . username ,
118- & assignees,
119- & payload. pull_request . base . name ,
120- pr_status,
121- )
122- . await ?;
113+ let pr = db
114+ . upsert_pull_request (
115+ repo_state. repository ( ) ,
116+ UpsertPullRequestParams {
117+ pr_number : payload. pull_request . number ,
118+ title : payload. pull_request . title . clone ( ) ,
119+ author : payload. pull_request . author . username . clone ( ) ,
120+ assignees,
121+ base_branch : payload. pull_request . base . name . clone ( ) ,
122+ mergeable_state : MergeableState :: Unknown ,
123+ pr_status,
124+ } ,
125+ )
126+ . await ?;
123127
124128 process_pr_description_commands ( & payload, repo_state. clone ( ) , db, ctx, merge_queue_tx) . await ?;
125129
126- mergeability_queue. enqueue_pr ( repo_state . repository ( ) . clone ( ) , payload . pull_request . number ) ;
130+ mergeability_queue. enqueue_pr ( & pr ) ;
127131
128132 Ok ( ( ) )
129133}
@@ -161,11 +165,11 @@ pub(super) async fn handle_pull_request_reopened(
161165 payload : PullRequestReopened ,
162166) -> anyhow:: Result < ( ) > {
163167 let pr = & payload. pull_request ;
164- let pr_number = pr . number ;
165- db . upsert_pull_request ( repo_state. repository ( ) , pr. clone ( ) . into ( ) )
168+ let pr = db
169+ . upsert_pull_request ( repo_state. repository ( ) , pr. clone ( ) . into ( ) )
166170 . await ?;
167171
168- mergeability_queue. enqueue_pr ( repo_state . repository ( ) . clone ( ) , pr_number ) ;
172+ mergeability_queue. enqueue_pr ( & pr ) ;
169173
170174 Ok ( ( ) )
171175}
@@ -257,7 +261,7 @@ pub(super) async fn handle_push_to_branch(
257261 ) ;
258262
259263 for pr in affected_prs {
260- mergeability_queue. enqueue_pr ( repo_state . repository ( ) . clone ( ) , pr . number ) ;
264+ mergeability_queue. enqueue_pr ( & pr ) ;
261265 }
262266 }
263267
0 commit comments