Skip to content

Commit b1f41bd

Browse files
Filip-Lfilip-neti
andauthored
Fix missing application after grant DataCap (#245)
Co-authored-by: Filip Lelek <[email protected]>
1 parent 8b83c8d commit b1f41bd

File tree

1 file changed

+12
-47
lines changed

1 file changed

+12
-47
lines changed

fplus-database/src/database/applications.rs

+12-47
Original file line numberDiff line numberDiff line change
@@ -261,66 +261,31 @@ pub async fn merge_application_by_pr_number(
261261
owner: String,
262262
repo: String,
263263
pr_number: u64,
264-
) -> Result<ApplicationModel, sea_orm::DbErr> {
264+
) -> Result<(), sea_orm::DbErr> {
265265
let conn = get_database_connection().await?;
266266
let pr_application =
267267
get_application_by_pr_number(owner.clone(), repo.clone(), pr_number).await?;
268-
let mut exists_merged = true;
269268

270-
let mut merged_application = match get_application(
269+
let mut application_active_model: ActiveModel;
270+
if let Ok(application) = get_application(
271271
pr_application.id.clone(),
272272
owner.clone(),
273273
repo.clone(),
274274
Some(0),
275275
)
276276
.await
277277
{
278-
Ok(application) => application.into_active_model(),
279-
Err(_) => {
280-
exists_merged = false;
281-
ActiveModel {
282-
id: Set(pr_application.id.clone()),
283-
owner: Set(owner),
284-
repo: Set(repo),
285-
pr_number: Set(0),
286-
application: Set(pr_application.application.clone()),
287-
path: Set(pr_application.path.clone()),
288-
..Default::default()
289-
}
290-
}
291-
};
292-
293-
let mut hasher = Sha1::new();
294-
let application = match pr_application.application.clone() {
295-
Some(app) => format!("blob {}\x00{}", app.len(), app),
296-
None => "".to_string(),
297-
};
298-
hasher.update(application.as_bytes());
299-
let file_sha = format!("{:x}", hasher.finalize());
300-
merged_application.sha = Set(Some(file_sha));
301-
merged_application.application = Set(pr_application.application.clone());
302-
303-
pr_application.delete(&conn).await?;
304-
305-
if exists_merged {
306-
let result = merged_application.update(&conn).await;
307-
match result {
308-
Ok(application) => Ok(application),
309-
Err(e) => Err(sea_orm::DbErr::Custom(format!(
310-
"Failed to merge application: {}",
311-
e
312-
))),
313-
}
278+
application_active_model = application.into_active_model();
279+
application_active_model.application = Set(pr_application.application.clone());
280+
application_active_model.sha = Set(pr_application.sha.clone());
281+
application_active_model.update(&conn).await?;
314282
} else {
315-
let result = merged_application.insert(&conn).await;
316-
match result {
317-
Ok(application) => Ok(application),
318-
Err(e) => Err(sea_orm::DbErr::Custom(format!(
319-
"Failed to merge application: {}",
320-
e
321-
))),
322-
}
283+
application_active_model = pr_application.clone().into_active_model();
284+
application_active_model.pr_number = Set(0);
285+
application_active_model.insert(&conn).await?;
323286
}
287+
pr_application.delete(&conn).await?;
288+
Ok(())
324289
}
325290

326291
/**

0 commit comments

Comments
 (0)