a06673b
use uuid::Uuid;
use crate::error::UserResult;
use crate::features::UserService;
use super::types::{RevokeSuspensionCmd, SuspendCmd, SuspensionView};
use super::usecase;
impl UserService {
pub async fn suspend_user(
&self,
caller: Uuid,
target: Uuid,
cmd: SuspendCmd,
) -> UserResult<SuspensionView> {
usecase::create(self, caller, target, cmd).await
}
pub async fn revoke_suspension(
&self,
caller: Uuid,
suspension_id: Uuid,
cmd: RevokeSuspensionCmd,
) -> UserResult<()> {
usecase::revoke(self, caller, suspension_id, cmd).await
}
pub async fn list_user_suspensions(
&self,
target: Uuid,
include_revoked: bool,
) -> UserResult<Vec<SuspensionView>> {
usecase::list_user(self, target, include_revoked).await
}
pub async fn list_all_suspensions(
&self,
include_revoked: bool,
) -> UserResult<Vec<SuspensionView>> {
usecase::list_all(self, include_revoked).await
}
}