Skip to content

Commit e8983f6

Browse files
authored
Automerge PR for total dc reached applications (#276)
1 parent 3da8619 commit e8983f6

File tree

1 file changed

+24
-4
lines changed

1 file changed

+24
-4
lines changed

fplus-lib/src/core/mod.rs

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1681,7 +1681,7 @@ impl LDNApplication {
16811681
let clompleted_application = app_file.reached_total_datacap();
16821682
let parsed_app_file = serde_json::to_string_pretty(&clompleted_application)
16831683
.map_err(|e| LDNError::Load(format!("Failed to pare into string: {}", e)))?;
1684-
LDNPullRequest::create_pr_for_existing_application(
1684+
let pr_number = LDNPullRequest::create_pr_for_existing_application(
16851685
clompleted_application.id.clone(),
16861686
parsed_app_file,
16871687
self.file_name.clone(),
@@ -1694,6 +1694,28 @@ impl LDNApplication {
16941694
format!("Total Datacap reached for {}", clompleted_application.id),
16951695
)
16961696
.await?;
1697+
1698+
let gh = github_async_new(self.github.owner.clone(), self.github.repo.clone()).await?;
1699+
1700+
gh.merge_pull_request(pr_number).await.map_err(|e| {
1701+
LDNError::Load(format!(
1702+
"Failed to merge pull request {}. Reason: {}",
1703+
pr_number, e
1704+
))
1705+
})?;
1706+
1707+
database::applications::merge_application_by_pr_number(
1708+
self.github.owner.clone(),
1709+
self.github.repo.clone(),
1710+
pr_number,
1711+
)
1712+
.await
1713+
.map_err(|e| {
1714+
LDNError::Load(format!(
1715+
"Failed to update application in database. Reason: {}",
1716+
e
1717+
))
1718+
})?;
16971719
Self::add_comment_to_issue(
16981720
application_model.issue_number.to_string().clone(),
16991721
application_model.owner.clone(),
@@ -1980,9 +2002,7 @@ impl LDNApplication {
19802002

19812003
Self::merge_application(pr_number, owner, repo).await?;
19822004
return Ok(true);
1983-
} else if application.lifecycle.get_state() == AppState::Declined
1984-
|| application.lifecycle.get_state() == AppState::TotalDatacapReached
1985-
{
2005+
} else if application.lifecycle.get_state() == AppState::Declined {
19862006
Self::merge_application(pr_number, owner, repo).await?;
19872007
return Ok(true);
19882008
}

0 commit comments

Comments
 (0)