@@ -19,7 +19,7 @@ async fn handle_pull_request(
1919 payload : PullRequestEventPayload ,
2020 scheduler : & JobScheduler ,
2121 sender : & flume:: Sender < ( String , u64 ) > ,
22- pool : & mysql_async:: Pool ,
22+ pool : Option < & mysql_async:: Pool > ,
2323) -> Result < ( ) > {
2424 match payload. action . as_str ( ) {
2525 "opened" | "synchronize" => {
@@ -39,17 +39,18 @@ async fn handle_pull_request(
3939
4040 let num_icons = handle_pull ( payload, scheduler, sender, check_run) . await ?;
4141
42- let mut conn = match pool. get_conn ( ) . await {
43- Ok ( conn) => conn,
44- Err ( e) => {
45- tracing:: error!( "{:?}" , e) ;
46- return Ok ( ( ) ) ;
47- }
48- } ;
42+ if let Some ( pool) = pool {
43+ let mut conn = match pool. get_conn ( ) . await {
44+ Ok ( conn) => conn,
45+ Err ( e) => {
46+ tracing:: error!( "{:?}" , e) ;
47+ return Ok ( ( ) ) ;
48+ }
49+ } ;
4950
50- if let Err ( e) = conn
51- . exec_drop (
52- r"INSERT INTO jobs (
51+ if let Err ( e) = conn
52+ . exec_drop (
53+ r"INSERT INTO jobs (
5354 check_id,
5455 repo_id,
5556 pr_number,
@@ -64,33 +65,35 @@ async fn handle_pull_request(
6465 :num_icons
6566 )
6667 " ,
67- params ! {
68- "check_id" => check_id,
69- "repo_id" => repo_id,
70- "pr_number" => pr_number,
71- "merge_date" => None :: <usize >,
72- "num_icons" => num_icons,
73- } ,
74- )
75- . await
76- {
77- tracing:: error!( "{:?}" , e) ;
78- } ;
68+ params ! {
69+ "check_id" => check_id,
70+ "repo_id" => repo_id,
71+ "pr_number" => pr_number,
72+ "merge_date" => None :: <usize >,
73+ "num_icons" => num_icons,
74+ } ,
75+ )
76+ . await
77+ {
78+ tracing:: error!( "{:?}" , e) ;
79+ } ;
80+ }
7981 Ok ( ( ) )
8082 }
8183 "closed" => {
8284 scheduler. remove ( & ( payload. repository . full_name ( ) , payload. pull_request . number ) ) ;
8385
84- let mut conn = match pool. get_conn ( ) . await {
85- Ok ( conn) => conn,
86- Err ( e) => {
87- tracing:: error!( "{:?}" , e) ;
88- return Ok ( ( ) ) ;
89- }
90- } ;
86+ if let Some ( pool) = pool {
87+ let mut conn = match pool. get_conn ( ) . await {
88+ Ok ( conn) => conn,
89+ Err ( e) => {
90+ tracing:: error!( "{:?}" , e) ;
91+ return Ok ( ( ) ) ;
92+ }
93+ } ;
9194
92- let now = time:: OffsetDateTime :: now_utc ( ) ;
93- if let Err ( e) = conn
95+ let now = time:: OffsetDateTime :: now_utc ( ) ;
96+ if let Err ( e) = conn
9497 . exec_drop (
9598 r"UPDATE jobs SET merge_date=:date
9699 WHERE repo_id=:rp_id
@@ -105,6 +108,7 @@ async fn handle_pull_request(
105108 {
106109 tracing:: error!( "{:?}" , e) ;
107110 } ;
111+ }
108112 Ok ( ( ) )
109113 }
110114 _ => Ok ( ( ) ) ,
@@ -225,11 +229,15 @@ async fn handle_pull(
225229pub async fn process_github_payload_actix (
226230 event : diffbot_lib:: github:: github_api:: GithubEvent ,
227231 payload : String ,
228- pool : Data < mysql_async:: Pool > ,
232+ pool : Data < Option < mysql_async:: Pool > > ,
229233 scheduler : Data < JobScheduler > ,
230234 sender : Data < flume:: Sender < ( String , u64 ) > > ,
231235) -> actix_web:: Result < & ' static str > {
232- let ( pool, scheduler, sender) = ( pool. get_ref ( ) , scheduler. get_ref ( ) , sender. get_ref ( ) ) ;
236+ let ( pool, scheduler, sender) = (
237+ pool. get_ref ( ) . as_ref ( ) ,
238+ scheduler. get_ref ( ) ,
239+ sender. get_ref ( ) ,
240+ ) ;
233241 // TODO: Handle reruns
234242 if event. 0 != "pull_request" {
235243 return Ok ( "Not a pull request event" ) ;
0 commit comments