Skip to content

Commit 250a7ce

Browse files
committed
that is an option
1 parent 466d6e7 commit 250a7ce

1 file changed

Lines changed: 42 additions & 34 deletions

File tree

crates/icondiffbot2/src/github_processor.rs

Lines changed: 42 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -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(
225229
pub 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

Comments
 (0)