From 21880c5f825b5e79aa054996313d8a36b275299f Mon Sep 17 00:00:00 2001 From: Awiteb Date: Thu, 18 Jul 2024 11:14:49 +0300 Subject: [PATCH] refactor: Use `get_user_status` util in more places Signed-off-by: Awiteb --- crates/oxidetalis/src/database/user_status.rs | 72 +++++++++---------- 1 file changed, 32 insertions(+), 40 deletions(-) diff --git a/crates/oxidetalis/src/database/user_status.rs b/crates/oxidetalis/src/database/user_status.rs index 24d96ae..47d9303 100644 --- a/crates/oxidetalis/src/database/user_status.rs +++ b/crates/oxidetalis/src/database/user_status.rs @@ -103,17 +103,15 @@ impl UsersStatusExt for DatabaseConnection { whitelister: &UserModel, target_public_key: &PublicKey, ) -> ServerResult { - whitelister - .find_related(UsersStatusEntity) - .filter( - UsersStatusColumn::Target - .eq(target_public_key.to_string()) - .and(UsersStatusColumn::Status.eq(AccessStatus::Whitelisted)), - ) - .one(self) - .await - .map(|u| u.is_some()) - .map_err(Into::into) + get_user_status( + self, + whitelister, + target_public_key, + AccessStatus::Whitelisted, + ) + .await + .map(|u| u.is_some()) + .map_err(Into::into) } async fn is_blacklisted( @@ -121,17 +119,15 @@ impl UsersStatusExt for DatabaseConnection { blacklister: &UserModel, target_public_key: &PublicKey, ) -> ServerResult { - blacklister - .find_related(UsersStatusEntity) - .filter( - UsersStatusColumn::Target - .eq(target_public_key.to_string()) - .and(UsersStatusColumn::Status.eq(AccessStatus::Blacklisted)), - ) - .one(self) - .await - .map(|u| u.is_some()) - .map_err(Into::into) + get_user_status( + self, + blacklister, + target_public_key, + AccessStatus::Blacklisted, + ) + .await + .map(|u| u.is_some()) + .map_err(Into::into) } async fn add_to_whitelist( @@ -223,15 +219,13 @@ impl UsersStatusExt for DatabaseConnection { whitelister: &UserModel, target_public_key: &PublicKey, ) -> ServerResult<()> { - if let Some(target_user) = whitelister - .find_related(UsersStatusEntity) - .filter( - UsersStatusColumn::Target - .eq(target_public_key.to_string()) - .and(UsersStatusColumn::Status.eq(AccessStatus::Whitelisted)), - ) - .one(self) - .await? + if let Some(target_user) = get_user_status( + self, + whitelister, + target_public_key, + AccessStatus::Whitelisted, + ) + .await? { target_user.delete(self).await?; } @@ -243,15 +237,13 @@ impl UsersStatusExt for DatabaseConnection { blacklister: &UserModel, target_public_key: &PublicKey, ) -> ServerResult<()> { - if let Some(target_user) = blacklister - .find_related(UsersStatusEntity) - .filter( - UsersStatusColumn::Target - .eq(target_public_key.to_string()) - .and(UsersStatusColumn::Status.eq(AccessStatus::Blacklisted)), - ) - .one(self) - .await? + if let Some(target_user) = get_user_status( + self, + blacklister, + target_public_key, + AccessStatus::Blacklisted, + ) + .await? { target_user.delete(self).await?; }