Skip to content

Commit a875cb6

Browse files
refactor: using positive logic
1 parent 1268af4 commit a875cb6

File tree

1 file changed

+7
-11
lines changed

1 file changed

+7
-11
lines changed

src/bors/handlers/review.rs

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,20 +20,17 @@ pub(super) async fn command_approve(
2020
approver: &Approver,
2121
) -> anyhow::Result<()> {
2222
tracing::info!("Approving PR {}", pr.number);
23-
if insufficient_approve_permission(repo_state.clone(), author) {
23+
if !sufficient_approve_permission(repo_state.clone(), author) {
2424
deny_approve_request(&repo_state, pr, author).await?;
2525
return Ok(());
2626
};
2727
let approver = match approver {
2828
Approver::Myself => author.username.clone(),
2929
Approver::Specified(approver) => approver.clone(),
3030
};
31-
tracing::info!("Approving PR {} by {}", pr.number, approver);
3231
db.approve(repo_state.repository(), pr.number, approver.as_str())
3332
.await?;
34-
tracing::info!("Approved PR {}", pr.number);
3533
handle_label_trigger(&repo_state, pr.number, LabelTrigger::Approved).await?;
36-
tracing::info!("Label trigger handled for PR {}", pr.number);
3734
notify_of_approval(&repo_state, pr, approver.as_str()).await
3835
}
3936

@@ -46,7 +43,7 @@ pub(super) async fn command_unapprove(
4643
author: &GithubUser,
4744
) -> anyhow::Result<()> {
4845
tracing::info!("Unapproving PR {}", pr.number);
49-
if insufficient_unapprove_permission(repo_state.clone(), pr, author) {
46+
if !sufficient_unapprove_permission(repo_state.clone(), pr, author) {
5047
deny_unapprove_request(&repo_state, pr, author).await?;
5148
return Ok(());
5249
};
@@ -55,9 +52,8 @@ pub(super) async fn command_unapprove(
5552
notify_of_unapproval(&repo_state, pr).await
5653
}
5754

58-
fn insufficient_approve_permission(repo: Arc<RepositoryState>, author: &GithubUser) -> bool {
59-
!repo
60-
.permissions
55+
fn sufficient_approve_permission(repo: Arc<RepositoryState>, author: &GithubUser) -> bool {
56+
repo.permissions
6157
.load()
6258
.has_permission(author.id, PermissionType::Review)
6359
}
@@ -98,13 +94,13 @@ async fn notify_of_approval(
9894
.await
9995
}
10096

101-
fn insufficient_unapprove_permission(
97+
fn sufficient_unapprove_permission(
10298
repo: Arc<RepositoryState>,
10399
pr: &PullRequest,
104100
author: &GithubUser,
105101
) -> bool {
106-
author.id != pr.author.id
107-
&& !repo
102+
author.id == pr.author.id
103+
|| repo
108104
.permissions
109105
.load()
110106
.has_permission(author.id, PermissionType::Review)

0 commit comments

Comments
 (0)